.app{width:100%;height:100vh;display:flex;flex-direction:column;font-family:var(--font-sans);background:var(--bg-primary);-webkit-user-select:none;user-select:none}.navbar{height:3.75rem;background:var(--navbar-bg);border-bottom:1px solid var(--menu-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;flex-shrink:0}.navbar-left{display:flex;align-items:center;gap:2rem}.navbar-brand{display:flex;align-items:center;gap:.875rem}.navbar-logo{width:2.25rem;height:2.25rem;background:var(--menu-surface-strong);border:.0625rem solid transparent;border-radius:.5rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.navbar-logo-img{width:100%;height:100%;object-fit:contain}.navbar-brand-text{display:flex;flex-direction:column;gap:1px}.navbar-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--menu-text);letter-spacing:-.02em;line-height:1.15;text-transform:none}.navbar-subtitle{font-size:.6875rem;font-weight:500;color:var(--menu-text-faint);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.navbar-right{display:flex;align-items:center;gap:.75rem}.btn-primary{padding:0 1.1rem;height:2.1rem;background-color:color-mix(in srgb,var(--menu-primary-color) 78%,#000);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s var(--ease-out),transform .2s var(--ease-out);display:inline-flex;align-items:center;gap:.4rem;box-shadow:none}.btn-primary:hover:not(:disabled){background-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:0 1rem;height:2.1rem;background:transparent;color:var(--menu-text-dim);border:1px solid var(--menu-border-strong);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out);display:inline-flex;align-items:center;gap:.4rem;box-shadow:none}.btn-secondary:hover{background:var(--menu-fill-hover);color:var(--menu-text)}.load-more-wrap{display:flex;justify-content:center;margin:1.5rem 0 .5rem}.btn-disconnect{padding:0 1rem;height:2.1rem;background:transparent;color:var(--menu-text-dim);border:.0625rem solid rgba(232,93,93,.35);border-radius:.5rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;display:inline-flex;align-items:center}.btn-disconnect:hover{background:#e85d5d1f;color:#fff;border-color:var(--accent-red)}.btn-sm{padding:0 .625rem;height:1.75rem;font-size:.75rem}.btn-outline{padding:0 .75rem;height:1.75rem;background:transparent;color:var(--menu-primary-color);border:.0625rem solid transparent;border-radius:.5rem;font-family:var(--font-sans);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;display:inline-flex;align-items:center}.btn-outline:hover{background:var(--accent-green-soft);border-color:transparent}.btn-danger{padding:0 .625rem;height:1.75rem;background:transparent;color:var(--accent-red);border:.0625rem solid rgba(232,93,93,.4);border-radius:.5rem;font-family:var(--font-sans);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;display:inline-flex;align-items:center}.btn-danger:hover{background:#e85d5d1f}.main-layout{display:flex;height:calc(100vh - 3.75rem);padding:1.5rem 1.75rem;gap:1.5rem;background:transparent;min-height:0}.sidebar{width:16.5rem;min-width:16.5rem;background:transparent;border:none;border-right:1px solid var(--menu-border);border-radius:0;padding:.25rem 1.25rem 1rem 0;overflow-y:auto;height:100%;box-shadow:none}.sidebar-title{font-family:var(--font-sans);font-size:.6875rem;font-weight:600;margin-bottom:1rem;color:var(--menu-text-faint);text-transform:uppercase;letter-spacing:.12em}.sidebar-search{margin-bottom:.75rem}.search-input{width:100%;padding:0 .875rem;height:2rem;background:var(--menu-fill-primary);border:.0625rem solid hsla(0,0%,100%,.1);border-radius:.5rem;color:var(--menu-text);font-family:var(--font-sans);font-size:.8125rem;outline:none;transition:border-color .15s ease}.search-input:focus{border-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.55)}.sidebar-error{font-size:.75rem;color:var(--accent-red);margin-bottom:.625rem;padding:.5rem .625rem;background:#e85d5d1a;border:.0625rem solid rgba(232,93,93,.3);border-radius:.5rem}.filter-item--all{width:100%;margin-bottom:1rem}.categories-list{display:flex;flex-direction:column;gap:.5rem}.category-group{margin-bottom:.25rem}.category-header{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--menu-text);transition:color .15s ease;-webkit-user-select:none;user-select:none}.category-header:hover{color:var(--menu-primary-color)}.icon-chevron{font-size:.5rem;transition:transform .2s ease;color:var(--menu-text-faint);width:.625rem;display:inline-block;font-style:normal}.category-header.collapsed .icon-chevron{transform:rotate(-90deg)}.category-type-icon{font-size:.75rem;color:var(--menu-text-faint);width:.875rem}.category-header-count{margin-left:auto;font-size:.75rem;color:var(--menu-text-faint);font-weight:400}.category-items{padding-left:.875rem;overflow:hidden;max-height:800px;transition:max-height .25s ease}.category-items.collapsed{max-height:0!important}.category-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.5rem .75rem;background:transparent;border:.0625rem solid transparent;border-radius:.375rem;color:var(--menu-text-dim);font-family:var(--font-sans);font-size:.8125rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;margin-bottom:.25rem;box-shadow:none;transform:none}.category-link:hover{background:var(--menu-fill-hover);color:var(--menu-text);border-color:transparent}.category-link.active{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.12);border-color:transparent;color:var(--menu-primary-color);font-weight:500;box-shadow:none}.category-link--muted{font-style:italic}.category-row{display:flex;align-items:center;gap:.25rem}.category-row .category-link{flex:1;min-width:0}.category-delete{background:none;border:none;color:var(--menu-text-faint);cursor:pointer;padding:.25rem .375rem;border-radius:.375rem;font-size:.6875rem;opacity:0;transition:all .15s ease}.category-row:hover .category-delete{opacity:1}.category-delete:hover{color:var(--accent-red);background:#e85d5d1a}.category-add-btn{display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .5rem;margin-top:.25rem;background:transparent;border:none;color:var(--menu-primary-color);font-size:.75rem;cursor:pointer;text-align:left}.category-add-btn:hover{opacity:.85}.category-add-form{margin-top:.375rem}.category-add-actions{display:flex;gap:.375rem;margin-top:.375rem}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2399a0aa' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;padding-right:1.75rem}.form-select--sm{font-size:.75rem;padding:.3rem 1.75rem .3rem .5rem;margin-bottom:.5rem;height:auto}.media-category-badge{position:absolute;top:.5rem;right:.5rem;background:var(--menu-surface-strong);border:.0625rem solid transparent;color:var(--menu-text-dim);font-size:.625rem;font-weight:500;padding:.125rem .5rem;border-radius:.375rem;max-width:7.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-stat{display:flex;justify-content:space-between;align-items:center;padding:.625rem 0;border-bottom:.0625rem solid var(--menu-border);font-size:.8125rem}.sidebar-stat-label{color:var(--menu-text-dim)}.sidebar-stat-value{color:var(--menu-primary-color);font-weight:600}.filter-list{display:flex;flex-direction:column;gap:.375rem;margin-top:1.25rem}.filter-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.625rem .75rem;background:transparent;border:.0625rem solid transparent;border-radius:.375rem;color:var(--menu-text-dim);font-family:var(--font-sans);font-size:.8125rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;box-shadow:none;transform:none}.filter-item:hover{background:var(--menu-fill-hover);color:var(--menu-text);border-color:transparent}.filter-item.active{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.12);border-color:transparent;color:var(--menu-primary-color);font-weight:500;box-shadow:none}.category-link-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.filter-count{flex-shrink:0;color:var(--menu-text-faint);font-size:.75rem;min-width:1.5em;text-align:right}.sidebar--tree{padding:.25rem 1.25rem 1rem 0}.sidebar-type-list{margin-top:.5rem}.sidebar-type-block{margin-bottom:.25rem}.sidebar-type-chevron{transition:transform .2s ease}.sidebar-type-chevron.open{transform:rotate(180deg)}.sidebar-category-tree{margin:.375rem 0 .625rem .25rem;padding-left:.5rem;border-left:.0625rem solid var(--menu-border)}.category-tree-row{display:flex;align-items:stretch;gap:.125rem;margin-bottom:.25rem}.category-tree-chevron{flex-shrink:0;width:1.125rem;height:2rem;padding:0;border:none;background:transparent;color:var(--menu-text-faint);font-size:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.category-tree-chevron.collapsed{transform:rotate(-90deg)}.category-tree-chevron--spacer{cursor:default;visibility:hidden}.category-tree-row .category-link{flex:1;min-width:0;margin-bottom:0;padding:.5rem .75rem}.category-tree-row .category-link-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-item.active .filter-count{color:var(--menu-primary-color)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem;margin-bottom:1.75rem}.folder-tile{position:relative;background:var(--bg-secondary);border:1px solid var(--menu-border);border-radius:var(--radius-lg);padding:1.25rem 1rem;min-height:8rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;cursor:pointer;transition:border-color .25s var(--ease-out),transform .25s var(--ease-out),background-color .25s var(--ease-out);box-shadow:none;transform:none}.folder-tile:hover{border-color:var(--menu-border-strong);background:var(--bg-secondary);transform:translateY(-2px)}.folder-tile--type{min-height:8.5rem}.folder-tile--muted{border-style:dashed;opacity:.75}.folder-tile-icon{width:2.5rem;height:2.5rem;border-radius:var(--radius-md);background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.12);border:1px solid transparent;display:flex;align-items:center;justify-content:center;color:var(--menu-primary-color);font-size:1rem;margin-bottom:.875rem}.folder-tile-icon--type{width:2.875rem;height:2.875rem;font-size:1.25rem}.folder-tile-name{font-size:.875rem;font-weight:500;color:var(--menu-text);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.folder-tile-meta{font-size:.75rem;color:var(--menu-text-faint);margin-top:.25rem}.folder-tile-total{font-size:.6875rem;color:var(--menu-text-faint);margin-top:.125rem;opacity:.85}.folder-tile-delete{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--menu-text-faint);cursor:pointer;padding:.25rem .375rem;border-radius:.375rem;opacity:0;transition:all .15s ease}.folder-tile:hover .folder-tile-delete{opacity:1}.folder-tile-delete:hover{color:var(--accent-red);background:#e85d5d1a}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.8125rem}.breadcrumb-item{background:none;border:none;color:var(--menu-text-dim);cursor:pointer;padding:.125rem .25rem;border-radius:.375rem;font-family:var(--font-sans);font-size:.8125rem}.breadcrumb-item:hover{color:var(--menu-primary-color)}.breadcrumb-item.active{color:var(--menu-text);font-weight:500;cursor:default}.breadcrumb-sep{color:var(--menu-text-faint);font-size:.75rem}.content-header-right{display:flex;align-items:center;gap:.75rem}.section-title--sub{font-family:var(--font-display);font-size:1.35rem;margin-bottom:0;font-weight:700;letter-spacing:.02rem;text-transform:uppercase}.content-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.media-search{position:relative;display:flex;align-items:center;flex:1;min-width:12rem;max-width:22rem;margin-left:auto}.media-search-icon{position:absolute;left:.75rem;color:var(--menu-text-faint);font-size:.75rem;pointer-events:none}.media-search-input{padding-left:2rem;padding-right:2rem}.media-search-clear{position:absolute;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;border-radius:.375rem;background:transparent;color:var(--menu-text-faint);cursor:pointer;padding:0}.media-search-clear:hover{color:var(--menu-text);background:#ffffff14}.files-section-title{font-family:var(--font-display);font-size:.8125rem;font-weight:600;color:var(--menu-text-dim);margin:.75rem 0 .875rem;text-transform:uppercase;letter-spacing:.06em}.no-logs{text-align:center;padding:4rem 1.5rem;color:var(--menu-text-faint);border:.0625rem dashed var(--menu-border-strong);border-radius:.5rem;background:var(--menu-fill-secondary)}.no-logs p{margin-bottom:.5rem;font-size:.9375rem;color:var(--menu-text-dim)}.no-logs-hint{font-size:.8125rem;color:var(--menu-text-faint);opacity:.85}.media-url-input{flex:1;padding:0 .7rem;height:1.875rem;border:.0625rem solid hsla(0,0%,100%,.1);border-radius:.5rem;font-size:.6875rem;color:var(--menu-text-dim);background:var(--menu-fill-primary);min-width:0;outline:none;font-family:var(--font-sans)}@media(max-width:768px){.sidebar{display:none}.main-layout{padding:1rem;gap:.875rem}.content{padding:1.25rem 1rem}.navbar{padding:0 1rem;height:3.5rem}.navbar-subtitle,.username{display:none}.user-info{padding:.25rem;border:none;background:transparent}}.category-add-inline{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem;max-width:30rem}.category-add-inline .search-input{flex:1}.content{flex:1;background:transparent;border:none;border-radius:0;padding:.25rem 0 1rem;overflow-y:auto;height:100%;min-height:0;box-shadow:none}.content-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:0;gap:1rem;flex-wrap:wrap;width:100%}.content-header-block{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:14rem}.section-title{font-family:var(--font-display);font-size:1.625rem;font-weight:600;color:var(--menu-text);letter-spacing:-.03em;text-transform:none;line-height:1.2;margin:0}.menu-header-separator{background:var(--menu-border);width:100%;height:.0625rem;margin:1.1rem 0}.logs-info{color:var(--menu-text-dim);font-size:.75rem;font-weight:500;padding:.35rem .75rem;background:var(--menu-fill-secondary);border:.0625rem solid transparent;border-radius:.5rem}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem}.media-card{background:var(--bg-secondary);border:1px solid var(--menu-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .25s var(--ease-out),transform .25s var(--ease-out);box-shadow:none;transform:none}.media-card:hover{background:var(--bg-secondary);border-color:var(--menu-border-strong);transform:translateY(-2px)}.media-preview{aspect-ratio:16/10;background:var(--menu-surface-strong);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-bottom:.0625rem solid var(--menu-border)}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}.media-preview .audio-icon{font-size:2rem;color:var(--menu-primary-color)}.media-type-badge{position:absolute;top:.625rem;left:.625rem;background:var(--menu-surface-strong);border:.0625rem solid transparent;color:var(--menu-primary-color);font-size:.625rem;font-weight:600;padding:.2rem .55rem;border-radius:.375rem;text-transform:uppercase;letter-spacing:.08em}.media-info{padding:.75rem .875rem}.media-name{font-weight:500;font-size:.8125rem;color:var(--menu-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.media-meta{font-size:.75rem;color:var(--menu-text-faint);margin-bottom:.625rem}.media-url-row{display:flex;gap:.375rem}.media-actions{display:flex;gap:.375rem;margin-top:.625rem}.form-input{width:100%;padding:0 .875rem;height:2rem;background:var(--menu-fill-primary);border:.0625rem solid hsla(0,0%,100%,.1);border-radius:.5rem;color:var(--menu-text);font-family:var(--font-sans);font-size:.8125rem;outline:none;margin-bottom:.5rem;transition:border-color .15s ease}.form-input:focus{border-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.55)}.loading-screen{display:flex;align-items:center;justify-content:center;padding:3.75rem}.loading-spinner{width:2rem;height:2rem;border:.125rem solid var(--menu-border);border-top-color:var(--menu-primary-color);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal-card{background:var(--menu-surface-strong);border:.0625rem solid transparent;border-radius:.5rem;width:100%;max-width:30rem;max-height:90vh;overflow-y:auto;box-shadow:none}.modal-card--wide{max-width:36rem}.modal-header{padding:1.25rem 1.5rem;border-bottom:.0625rem solid var(--menu-border);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--menu-text);letter-spacing:.02rem;text-transform:uppercase}.modal-close{background:none;border:none;color:var(--menu-text-faint);font-size:1.125rem;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:all .15s ease}.modal-close:hover{background:var(--menu-fill-hover);color:var(--menu-text)}.modal-body{padding:1.5rem}.login-error{background:#e85d5d1a;border:.0625rem solid rgba(232,93,93,.4);color:var(--accent-red);padding:.625rem .875rem;border-radius:.5rem;font-size:.8125rem;margin-bottom:1rem}.form-group{margin-bottom:.875rem}.form-group label{display:block;font-size:.8125rem;color:var(--menu-text-dim);margin-bottom:.375rem;font-weight:500}.form-actions{display:flex;gap:.625rem;justify-content:flex-end;margin-top:1.25rem}.alert{padding:.625rem .875rem;border-radius:.5rem;font-size:.8125rem;margin-bottom:.875rem}.alert-error{background:#e85d5d1a;border:.0625rem solid rgba(232,93,93,.4);color:var(--accent-red)}.alert-success{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.18);border:.0625rem solid rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.55);color:var(--menu-primary-color)}.admin-section h3{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--menu-text-dim);margin-bottom:.625rem;text-transform:uppercase;letter-spacing:.04em}.drop-zone{border:.0625rem dashed var(--menu-border-strong);border-radius:.5rem;padding:2.5rem 1.5rem;text-align:center;background:var(--menu-fill-secondary);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.drop-zone:hover,.drop-zone.dragover{border-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.55);background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.18)}.drop-zone i{font-size:1.75rem;color:var(--menu-primary-color);margin-bottom:.75rem;display:block}.drop-zone p{color:var(--menu-text-dim);font-size:.8125rem;line-height:1.6}.folder-drop-zone{position:relative;min-height:12.5rem}.folder-drop-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;background:#17191deb;border:.125rem dashed rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.55);border-radius:.5rem;pointer-events:none}.folder-drop-zone--active .folder-drop-overlay{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.18)}.folder-drop-overlay-icon{font-size:2.5rem;color:var(--menu-primary-color)}.folder-drop-overlay p{color:var(--menu-text);font-size:.9375rem;font-weight:500}.upload-progress-tab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:200;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;max-width:min(22rem,calc(100vw - 2rem))}.upload-progress-tab__toggle{display:inline-flex;align-items:center;gap:.625rem;padding:.625rem .875rem;background:var(--menu-surface-elevated);border:.0625rem solid var(--menu-border-strong);border-radius:.5rem;color:var(--menu-text);cursor:pointer;box-shadow:0 .5rem 1.5rem #00000059;transition:background .15s ease,border-color .15s ease}.upload-progress-tab__toggle:hover{background:#23262c;border-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.45)}.upload-progress-tab__icon{color:var(--menu-primary-color);font-size:.875rem}.upload-progress-tab__count{font-family:var(--font-display);font-size:.875rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}.upload-progress-tab__pct{font-size:.75rem;color:var(--menu-text-faint);font-variant-numeric:tabular-nums}.upload-progress-tab__chevron{font-size:.6875rem;color:var(--menu-text-faint)}.upload-progress-tab__panel{width:min(22rem,calc(100vw - 2rem));background:var(--menu-surface-elevated);border:.0625rem solid var(--menu-border-strong);border-radius:.5rem;box-shadow:0 .75rem 2rem #0006;overflow:hidden;animation:uploadTabIn .18s ease-out}@keyframes uploadTabIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.upload-progress-tab__header{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .875rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--menu-text-dim)}.upload-progress-tab__current{font-size:.8125rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--menu-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress-tab__bar{margin:0 .875rem .5rem;height:.25rem;border-radius:999px;background:#ffffff14;overflow:hidden}.upload-progress-tab__bar-fill{height:100%;background:var(--menu-primary-color);transition:width .2s ease}.upload-progress-tab__list{list-style:none;margin:0;padding:.375rem 0;max-height:14rem;overflow-y:auto;border-top:.0625rem solid var(--menu-border)}.upload-progress-tab__item{display:flex;align-items:center;gap:.625rem;padding:.4375rem .875rem;font-size:.8125rem;color:var(--menu-text-dim)}.upload-progress-tab__item--uploading{color:var(--menu-text);background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.1)}.upload-progress-tab__item--done{color:var(--menu-text-faint)}.upload-progress-tab__item--error{color:#e57373}.upload-progress-tab__status{width:1rem;flex-shrink:0;text-align:center;font-size:.75rem}.upload-progress-tab__item--uploading .upload-progress-tab__status{color:var(--menu-primary-color)}.upload-progress-tab__item--done .upload-progress-tab__status{color:#6bbf8a}.upload-progress-tab__name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--menu-text-faint);font-size:.75rem}.divider:before,.divider:after{content:"";flex:1;height:.0625rem;background:var(--menu-border)}.user-info{display:flex;align-items:center;gap:.625rem;padding:.25rem .75rem .25rem .25rem;background:var(--menu-fill-secondary);border:.0625rem solid transparent;border-radius:.5rem}.user-avatar{width:1.875rem;height:1.875rem;border-radius:.5rem;background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.18);border:.0625rem solid transparent;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--menu-primary-color)}.user-avatar-img{width:1.875rem;height:1.875rem;border-radius:999px;object-fit:cover;border:none}.username{font-size:.8125rem;font-weight:500;color:var(--menu-text-dim)}.login-page{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);background:radial-gradient(60rem 30rem at 50% -10%,rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.08),transparent 70%),var(--bg-primary)}.login-card{background:var(--bg-secondary);border:1px solid var(--menu-border);border-radius:16px;padding:2.75rem 2.5rem;text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-soft)}.login-logo--image{width:5.5rem;height:5.5rem;padding:.625rem;background:transparent;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.login-logo-img{width:100%;height:100%;object-fit:contain}.login-eyebrow{font-size:.6875rem;font-weight:600;color:var(--menu-text-faint);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem}.login-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;text-align:center;color:var(--menu-text);margin-bottom:0;letter-spacing:-.03em;text-transform:none;line-height:1.2}.login-header-separator{background:var(--menu-border);width:100%;height:.0625rem;margin:1.1rem 0}.login-subtitle{font-size:.875rem;text-align:center;color:var(--menu-text-faint);margin-bottom:2rem;line-height:1.55;max-width:18.75rem;margin-left:auto;margin-right:auto}.btn-discord{display:inline-flex;align-items:center;gap:.75rem;padding:0 1.75rem;height:2.75rem;background:#5865f2;color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s var(--ease-out),transform .2s var(--ease-out);width:100%;justify-content:center;box-shadow:none}.btn-discord:hover{background:#4752c4;transform:translateY(-1px)}.api-key-create{display:flex;gap:.625rem;align-items:center}.api-key-create .form-input{flex:1}.api-key-fresh{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.12);border:.0625rem solid rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.45);border-radius:.5rem;padding:1rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.625rem}.api-key-fresh__title{font-weight:600;color:var(--menu-primary-color);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.api-key-fresh__hint{font-size:.75rem;color:var(--menu-text-dim);margin:0}.api-key-fresh__value{display:block;word-break:break-all;background:var(--menu-fill-secondary);border-radius:.375rem;padding:.625rem .75rem;font-size:.75rem;color:var(--menu-text)}.api-keys-empty{color:var(--menu-text-faint);font-size:.8125rem;margin:0}.api-keys-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.api-keys-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;background:var(--menu-fill-secondary);border-radius:.5rem;border:.0625rem solid var(--menu-border)}.api-keys-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.api-keys-item__main strong{color:var(--menu-text);font-size:.875rem}.api-keys-item__prefix{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--menu-primary-color)}.api-keys-item__meta{font-size:.7rem;color:var(--menu-text-faint)}.api-keys-item__delete{flex-shrink:0;padding:0 .65rem}.api-keys-docs{margin-top:1.25rem;padding-top:1rem;border-top:.0625rem solid var(--menu-border)}.api-keys-docs h3{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--menu-text-dim);margin-bottom:.625rem;text-transform:uppercase;letter-spacing:.04em}.api-keys-docs__code{background:var(--menu-fill-secondary);border-radius:.5rem;padding:.875rem;font-size:.7rem;color:var(--menu-text);overflow-x:auto;white-space:pre;margin:0 0 .625rem;border:.0625rem solid var(--menu-border)}.api-keys-docs__note{font-size:.75rem;color:var(--menu-text-dim);margin:0;line-height:1.5}.api-keys-docs__note code,.api-key-fresh__hint code{font-size:.7rem;background:var(--menu-fill-primary);padding:.1rem .3rem;border-radius:.25rem}.browser-subtitle{margin:.35rem 0 0;font-size:.8125rem;color:var(--menu-text-faint)}.api-storage-empty{text-align:center;padding:3.5rem 1.5rem;color:var(--menu-text-dim)}.api-storage-empty>i{font-size:2rem;color:var(--menu-primary-color);margin-bottom:1rem;display:block}.empty-state-hint{font-size:.8125rem;color:var(--menu-text-faint);margin:.5rem 0 1rem}.empty-state-hint code{font-size:.75rem;background:var(--menu-fill-primary);padding:.1rem .35rem;border-radius:.25rem}@keyframes themeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes themeRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes themeDrop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app,.login-page{font-family:var(--font-sans);background:var(--bg-primary);color:var(--menu-text);animation:themeFadeIn .4s var(--ease-out)}.navbar{position:relative;z-index:40;height:3.75rem!important;flex-shrink:0;background:var(--navbar-bg)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--menu-border)!important;padding:0 1.75rem!important;box-shadow:none!important}.navbar-logo{width:2rem!important;height:2rem!important;background:transparent!important;border:none!important;border-radius:var(--radius-sm)!important;overflow:hidden}.navbar-title{font-family:var(--font-display)!important;font-size:1rem!important;font-weight:600!important;letter-spacing:-.02em!important;text-transform:none!important;color:var(--menu-text)!important}.navbar-subtitle{font-family:var(--font-sans)!important;font-size:.6875rem!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--menu-text-faint)!important}.user-info{background:transparent!important;border:1px solid var(--menu-border)!important;border-radius:999px!important;padding:.25rem .75rem .25rem .25rem!important;transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out)}.user-info:hover{background:var(--menu-fill-primary)!important;border-color:var(--menu-border-strong)!important}.username{font-size:.8125rem!important;font-weight:500!important;color:var(--menu-text)!important}.user-avatar,.user-avatar-img{border-radius:999px!important;background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.14)!important;border:none!important;color:var(--menu-primary-color)!important;box-shadow:none!important}.btn-disconnect{border-radius:var(--radius-sm)!important;box-shadow:none!important;height:2.1rem;font-family:var(--font-sans)!important;font-weight:500!important}.main-layout{padding:1.5rem 1.75rem!important;gap:1.5rem!important;height:calc(100vh - 3.75rem)!important;background:transparent!important}.sidebar{background:transparent!important;border:none!important;border-right:1px solid var(--menu-border)!important;border-radius:0!important;box-shadow:none!important;padding:.25rem 1.25rem 1rem 0!important}.content{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:.25rem 0 1rem!important;animation:themeRise .45s var(--ease-out) both}.section-title,.modal-header h2{font-family:var(--font-display)!important;font-weight:600!important;letter-spacing:-.03em!important;text-transform:none!important;color:var(--menu-text)!important;text-shadow:none!important}.section-title{font-size:1.625rem!important;line-height:1.2!important;margin-bottom:0!important}.sidebar-title,.admin-section h3,.api-keys-docs h3{display:inline-flex!important;align-items:center;gap:.6rem;font-family:var(--font-sans)!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--menu-text-faint)!important;text-shadow:none!important}.sidebar-title:before{content:"";width:18px;height:1px;background:var(--menu-primary-color);flex-shrink:0}.menu-header-separator,.login-header-separator{background:var(--menu-border)!important;width:100%;height:1px;margin:1rem 0 1.25rem}.browser-subtitle{color:var(--menu-text-faint)!important;font-size:.875rem!important}.filter-item,.category-link{border-radius:var(--radius-sm)!important;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;transform:none!important;color:var(--menu-text-dim);font-family:var(--font-sans)!important;transition:background-color .18s var(--ease-out),color .18s var(--ease-out)}.filter-item:hover,.category-link:hover{background:var(--menu-fill-primary)!important;color:var(--menu-text)!important;border-color:transparent!important}.filter-item.active,.category-link.active{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.1)!important;border-color:transparent!important;color:var(--menu-text)!important;box-shadow:none!important;font-weight:500}.filter-item.active{color:var(--menu-primary-color)!important}.filter-count{color:var(--menu-text-faint)!important;font-variant-numeric:tabular-nums}.sidebar-category-tree{border-left-color:var(--menu-border)!important}.search-input,.form-input,.form-select,input:not([type]),input[type=text],input[type=search],input[type=url],textarea,select{border-radius:var(--radius-md)!important;background:var(--bg-input)!important;border:1px solid var(--menu-border)!important;color:var(--menu-text)!important;font-family:var(--font-sans)!important;box-shadow:none!important;color-scheme:dark;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),background-color .2s var(--ease-out)}.search-input:hover,.form-input:hover,select:hover{border-color:var(--menu-border-strong)!important}input::placeholder,textarea::placeholder{color:var(--menu-text-faint)!important}.search-input:focus,.form-input:focus,select:focus{border-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.5)!important;box-shadow:0 0 0 3px rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.12)!important;outline:none}select option,select optgroup{background:var(--bg-tertiary)!important;color:var(--menu-text)!important}.btn-primary{border-radius:var(--radius-md)!important;background:color-mix(in srgb,var(--menu-primary-color) 78%,#000)!important;font-family:var(--font-sans)!important;font-weight:500!important;box-shadow:none!important;border:none!important;color:#fff!important;transition:background-color .2s var(--ease-out),transform .2s var(--ease-out),opacity .2s ease}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--menu-primary-color) 88%,#000)!important;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{border-radius:var(--radius-md)!important;background:transparent!important;border:1px solid var(--menu-border-strong)!important;color:var(--menu-text-dim)!important;box-shadow:none!important;font-family:var(--font-sans)!important;font-weight:500!important;gap:.4rem;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out)}.btn-secondary:hover{background:var(--menu-fill-primary)!important;border-color:#ffffff38!important;color:var(--menu-text)!important;transform:none}.btn-danger{border-radius:var(--radius-md)!important;box-shadow:none!important}.logs-info{border-radius:999px!important;background:var(--menu-fill-primary)!important;border:1px solid var(--menu-border)!important;color:var(--menu-text-dim)!important;box-shadow:none!important}.media-card,.folder-tile,.type-folder-tile,.category-folder-tile{border-radius:var(--radius-lg)!important;background:var(--bg-secondary)!important;border:1px solid var(--menu-border)!important;box-shadow:none!important;transition:border-color .25s var(--ease-out),transform .25s var(--ease-out),background-color .25s var(--ease-out)}.media-card:hover,.folder-tile:hover,.type-folder-tile:hover,.category-folder-tile:hover{background:var(--bg-secondary)!important;border-color:var(--menu-border-strong)!important;transform:translateY(-2px);box-shadow:none!important}.media-preview{background:var(--bg-tertiary)!important;border-bottom:1px solid var(--menu-border)!important}.media-type-badge,.media-category-badge{border-radius:999px!important;background:#08090bb8!important;border:1px solid var(--menu-border)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-sans)!important;letter-spacing:.04em}.media-name{font-weight:500!important;color:var(--menu-text)!important}.media-meta{color:var(--menu-text-faint)!important;font-variant-numeric:tabular-nums}.drop-zone,.folder-drop-zone{border-radius:var(--radius-lg)!important;border-color:var(--menu-border-strong)!important;background:var(--menu-fill-secondary)!important;transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out)}.drop-zone:hover,.drop-zone.dragover,.folder-drop-zone--active{border-color:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.55)!important;background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.08)!important}.login-page{background:radial-gradient(60rem 30rem at 50% -10%,rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.08),transparent 70%),var(--bg-primary)!important}.login-card{background:var(--bg-secondary)!important;border:1px solid var(--menu-border)!important;border-radius:16px!important;box-shadow:var(--shadow-soft)!important;padding:2.75rem 2.5rem!important;max-width:380px;animation:themeRise .6s var(--ease-out) both}.login-logo,.login-logo--image{background:transparent!important;border:none!important;border-radius:var(--radius-md)!important;box-shadow:none!important}.login-eyebrow{font-family:var(--font-sans)!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--menu-text-faint)!important}.login-title{font-family:var(--font-display)!important;font-size:1.5rem!important;font-weight:600!important;letter-spacing:-.03em!important;text-transform:none!important;color:var(--menu-text)!important;margin-bottom:0!important}.login-subtitle{color:var(--menu-text-faint)!important;font-size:.875rem!important}.login-error,.alert-error{border-radius:var(--radius-md)!important;background:#d9605a14!important;border:1px solid rgba(217,96,90,.35)!important;color:var(--accent-red)!important}.alert-success{border-radius:var(--radius-md)!important;background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.1)!important;border:1px solid rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.35)!important}.btn-discord{height:2.75rem!important;border-radius:var(--radius-md)!important;background:#5865f2!important;border:none!important;color:#fff!important;font-family:var(--font-sans)!important;font-weight:500!important;box-shadow:none!important;transition:background-color .2s var(--ease-out),transform .2s var(--ease-out)!important}.btn-discord:hover{background:#4752c4!important;transform:translateY(-1px)}.api-storage-empty,.empty-state{border:1px dashed var(--menu-border-strong)!important;border-radius:var(--radius-lg)!important;background:transparent!important}.loading-spinner{border-color:var(--menu-border)!important;border-top-color:var(--menu-primary-color)!important}.modal-overlay{background:#08090bb3!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:themeFadeIn .2s ease}.modal-card{background:var(--bg-secondary)!important;border:1px solid var(--menu-border-strong)!important;border-radius:var(--radius-lg)!important;box-shadow:0 24px 60px #00000080!important;animation:themeRise .3s var(--ease-out)}.modal-header{border-bottom-color:var(--menu-border)!important}.modal-header h2{font-size:1.15rem!important}.modal-close:hover{background:var(--menu-fill-hover)!important;color:var(--menu-text)!important}.api-key-fresh{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.1)!important;border:1px solid rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.35)!important;border-radius:var(--radius-lg)!important}.api-key-fresh__value,.api-keys-docs__code{font-family:var(--font-mono)!important;background:var(--bg-input)!important;border:1px solid var(--menu-border)!important;border-radius:var(--radius-md)!important}.api-keys-item{background:var(--bg-secondary)!important;border:1px solid var(--menu-border)!important;border-radius:var(--radius-md)!important;transition:border-color .2s var(--ease-out)}.api-keys-item:hover{border-color:var(--menu-border-strong)!important}.api-keys-item__prefix{font-family:var(--font-mono)!important;color:var(--menu-primary-color)!important}.api-keys-docs{border-top-color:var(--menu-border)!important}.upload-progress-tab{border-radius:var(--radius-lg)!important;background:var(--bg-secondary)!important;border:1px solid var(--menu-border-strong)!important;box-shadow:var(--shadow-soft)!important}.upload-progress-tab__bar{background:var(--menu-fill-primary)!important;border-radius:999px!important;overflow:hidden}.upload-progress-tab__bar-fill{background:var(--menu-primary-color)!important}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;--menu-primary-color-r: 106;--menu-primary-color-g: 168;--menu-primary-color-b: 201;--menu-primary-color: rgba(var(--menu-primary-color-r), var(--menu-primary-color-g), var(--menu-primary-color-b), 1);--menu-primary-color-hover: #7db4d1;--menu-fill-primary: rgba(255, 255, 255, .05);--menu-fill-secondary: rgba(255, 255, 255, .025);--menu-fill-hover: rgba(255, 255, 255, .08);--menu-surface: #1a1d22;--menu-surface-strong: #1a1d22;--menu-surface-elevated: #21252c;--menu-border: rgba(255, 255, 255, .09);--menu-border-strong: rgba(255, 255, 255, .155);--menu-text: #eef0f2;--menu-text-dim: #b3b9c2;--menu-text-faint: #828a95;--bg-primary: #14161a;--bg-secondary: #1a1d22;--bg-tertiary: #21252c;--bg-hover: #282e35;--bg-elevated: #21252c;--bg-input: #14161a;--border-color: var(--menu-border);--border-strong: var(--menu-border-strong);--border-focus: var(--menu-primary-color);--text-primary: var(--menu-text);--text-secondary: var(--menu-text-dim);--text-muted: var(--menu-text-faint);--accent: var(--menu-primary-color);--accent-green: var(--menu-primary-color);--accent-green-hover: var(--menu-primary-color-hover);--accent-green-soft: rgba(var(--menu-primary-color-r), var(--menu-primary-color-g), var(--menu-primary-color-b), .1);--accent-silver: #7a8494;--accent-red: #d9605a;--accent-red-hover: #c4524c;--success: #5fbf8a;--warning: #e0a84f;--danger: #d9605a;--navbar-bg: rgba(20, 22, 26, .85);--sidebar-bg: var(--menu-surface);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-track: transparent;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-soft: 0 12px 32px rgba(0, 0, 0, .35);--ease-out: cubic-bezier(.22, 1, .36, 1);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Inter Tight", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;font-family:var(--font-sans);font-feature-settings:"cv11","ss01";font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;overflow:hidden;margin:0}input,textarea,select,button{font-family:inherit}input::placeholder,textarea::placeholder{font-family:inherit}#root{width:100%;height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}::selection{background:rgba(var(--menu-primary-color-r),var(--menu-primary-color-g),var(--menu-primary-color-b),.3);color:#fff}
