:root{--bg-main: #1f1d36;--bg-sidebar: #1b192f;--bg-header: #171528;--bg-elevated: #292647;--bg-input: #24213e;--text-primary: #d3d2e6;--text-secondary: #b4b1d4;--text-muted: #8d89ad;--border: #141222;--border-subtle: #1f1d36;--border-control: #3f3c64;--border-focus: #454178;--accent-primary: #fbe7c3;--accent-secondary: #9a94e9;--on-accent: #1f1d36;--hover-bg: #322f57;--success: #91d6a7;--error: #ff7e70;--warning: #e4a792;--info: #92b4ff;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--navbar-height: 70px;--player-height: 80px}[data-theme=light]{--bg-main: #edf3ee;--bg-sidebar: #e2ece4;--bg-header: #d8e5db;--bg-elevated: #f6f9f7;--bg-input: #ffffff;--text-primary: #16221b;--text-secondary: #2c382f;--text-muted: #68786e;--border: #bfd4c3;--border-subtle: #dbe8dd;--border-control: #b0cab4;--border-focus: #8fb49a;--accent-primary: #2a9b7d;--accent-secondary: #008f8f;--on-accent: #ffffff;--hover-bg: #dce9de;--success: #008b17;--error: #d12525;--warning: #c08403;--info: #0076c5}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-main);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}input,select,textarea{color:var(--text-primary)}::placeholder{color:var(--text-muted)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{max-width:1200px;margin:0 auto}.w-full{width:100%}.grid{display:grid;gap:1rem}.flex{display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.text-sm{font-size:.875rem}.text-muted{color:var(--text-muted)}.hidden{display:none!important}#app{min-height:100vh}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-main);position:relative;transition:padding-bottom .28s ease}.has-player .app-main{padding-bottom:var(--player-height)}.app-content{padding:2rem;flex:1;max-width:1100px;width:100%;margin:0 auto;position:relative;z-index:1}.app-content.app-content--wide{max-width:100%}.app-content.app-content--subapp{max-width:none;flex:1;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.app-content.app-content--subapp>*{flex:1;min-height:0;display:flex;flex-direction:column}.app-content.app-content--leaving{animation:page-leave .18s ease-in forwards}.app-content.app-content--entering{animation:page-enter .28s ease-out}.app-content.app-content--hidden{opacity:0}@keyframes page-leave{to{opacity:0;transform:translateY(14px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}}.page-transition-status{position:absolute;top:calc(var(--navbar-height) + 1.5rem);left:1.5rem;z-index:0;display:flex;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.95rem;white-space:nowrap;animation:page-status-in .18s ease-out}.page-transition-status.is-leaving{animation:page-status-out .18s ease-in forwards}@keyframes page-status-in{0%{opacity:0}}@keyframes page-status-out{to{opacity:0}}.page-transition-spinner{display:inline-flex;animation:page-spin .8s linear infinite}@keyframes page-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-content.app-content--leaving,.app-content.app-content--entering,.page-transition-spinner,.page-transition-status,.page-transition-status.is-leaving{animation:none}}app-sidebar,app-navbar{animation:shell-fade-in .28s ease-out}@keyframes shell-fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){app-sidebar,app-navbar{animation:none}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-control);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;border-radius:6px;font-weight:600;font-size:.9rem;transition:all .2s;cursor:pointer;text-decoration:none;gap:.5rem;min-height:40px;border:1px solid transparent}.btn svg{width:1rem;height:1rem}.btn-primary{background-color:var(--accent-primary);color:var(--on-accent)}.btn-primary:hover{opacity:.85;text-decoration:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-control)}.btn-secondary:hover{background-color:var(--hover-bg);text-decoration:none}.btn-ghost{background-color:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover{background-color:var(--hover-bg);color:var(--text-primary);text-decoration:none}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover{opacity:.9;text-decoration:none}.btn-sm{padding:.4rem .75rem;font-size:.8rem;min-height:31px}.btn-sm svg{width:14px;height:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{opacity:.5;text-decoration:none}.btn.is-locked{opacity:.65;cursor:default;filter:saturate(.6)}.btn.is-locked:hover{background-color:var(--bg-input);text-decoration:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn svg{width:18px;height:18px}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-group .hint{font-size:.8rem;color:var(--text-muted)}input,select,textarea{width:100%;background-color:var(--bg-input);border:1px solid var(--border-control);color:var(--text-primary);padding:.6rem .8rem;min-height:40px;border-radius:6px;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--border-focus) 30%,transparent)}.form-group .is-invalid{border-color:var(--error);box-shadow:0 0 0 2px color-mix(in srgb,var(--error) 18%,transparent)}.form-group .field-error{color:var(--error);font-size:.8rem;font-weight:500;margin-top:.25rem}input::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:96px}input[type=checkbox]{width:auto;min-height:0;padding:0;border:none;background:none;border-radius:0;cursor:pointer;accent-color:var(--accent-primary)}input.has-error,select.has-error,textarea.has-error{border-color:var(--error)}.error-message{color:var(--error);font-size:.875rem;margin-top:.5rem}.field-error{color:var(--error);font-size:.8rem}.info-message{color:var(--info);font-size:.875rem;margin-top:.5rem}.success-message{color:var(--success);font-size:.875rem;margin-top:.5rem}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap input{padding-right:2.75rem}.checkbox-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.75rem}.checkbox-row input[type=checkbox]{margin-top:.2rem}.checkbox-row label{font-size:.875rem;color:var(--text-secondary)}.card{background-color:var(--bg-elevated);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-head h2,.card-head h3{margin:0;color:var(--text-primary)}.card-head__title{display:flex;align-items:center;gap:.85rem;min-width:0}.card-head__title h2,.card-head__title h3{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-body{color:var(--text-secondary)}.card :where(h1,h2,h3){margin:0 0 .5rem;color:var(--text-primary)}.card :where(p){color:var(--text-secondary)}.card :where(hr){border:none;border-top:1px solid var(--border);margin:1rem 0}.card>section+section{margin-top:1.5rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.badge svg{width:.85rem;height:.85rem}.badge-accent{background-color:var(--accent-primary);color:var(--on-accent)}.badge-secondary{background-color:var(--hover-bg);color:var(--text-secondary);border:1px solid var(--border-control)}.badge-success{background-color:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.badge-error{background-color:color-mix(in srgb,var(--error) 18%,transparent);color:var(--error)}.badge-warning{background-color:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.badge-info{background-color:color-mix(in srgb,var(--info) 18%,transparent);color:var(--info)}.multi-select{position:relative;display:block;min-width:0}.multi-select__control{display:flex;align-items:center;gap:.5rem;min-height:42px;padding:.4rem .6rem;border-radius:6px;border:1px solid var(--border-control);background-color:var(--bg-input);cursor:pointer;flex-wrap:nowrap;overflow:hidden}.multi-select__chips{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;min-width:0;gap:.4rem}.multi-select__chips.is-overflowing{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}.multi-select__control:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.multi-select__control.has-error{border-color:var(--error)}.multi-select__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;background-color:var(--hover-bg);border:1px solid var(--border-control);font-size:.8rem;color:var(--text-primary);white-space:nowrap;flex-shrink:0}.multi-select__chip button{display:inline-flex;background:transparent;border:none;color:var(--text-muted);padding:0;cursor:pointer}.multi-select__chip button svg{width:.8rem;height:.8rem}.multi-select__placeholder{color:var(--text-muted);font-size:.875rem}.multi-select__caret{margin-left:auto;color:var(--text-muted)}.multi-select__caret svg{width:1rem;height:1rem}.multi-select__dropdown{position:fixed;z-index:1000;min-width:180px;background-color:var(--bg-elevated);border:1px solid var(--border-control);border-radius:8px;box-shadow:0 8px 24px #00000040;max-height:240px;overflow-y:auto;padding:.25rem}.multi-select__option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:.875rem}.multi-select__option:hover{background-color:var(--hover-bg)}.multi-select__option.is-selected{color:var(--accent-primary)}.ui-switch{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer}.ui-switch[data-label-position=left]{flex-direction:row}.ui-switch-track{position:relative;display:inline-block;width:40px;height:22px;border-radius:999px;background-color:var(--border-control);transition:background-color .2s ease;flex-shrink:0}.ui-switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background-color:var(--bg-elevated);box-shadow:0 1px 3px #0000004d;transition:transform .2s ease}.ui-switch-input{position:absolute;opacity:0;width:0;height:0}.ui-switch-input:checked+.ui-switch-track{background-color:var(--accent-primary)}.ui-switch-input:checked+.ui-switch-track .ui-switch-knob{transform:translate(18px)}.ui-switch-input:focus-visible+.ui-switch-track{outline:2px solid var(--border-focus);outline-offset:2px}.ui-switch-input:disabled+.ui-switch-track{opacity:.5;cursor:not-allowed}.ui-switch-text{font-size:.875rem;color:var(--text-secondary)}.tag-input{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.4rem .6rem;border-radius:6px;border:1px solid var(--border-control);background-color:var(--bg-input);cursor:text}.tag-input:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--border-focus) 30%,transparent)}.tag-input.has-error{border-color:var(--error)}.tag-input__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;background-color:var(--hover-bg);border:1px solid var(--border-control);font-size:.8rem;color:var(--text-primary)}.tag-input__chip button{display:inline-flex;background:transparent;border:none;color:var(--text-muted);padding:0;cursor:pointer}.tag-input__chip button svg{width:.8rem;height:.8rem}.tag-input__field{border:none;background:transparent;outline:none;flex:1;min-width:120px;padding:.2rem 0;color:var(--text-primary)}.char-counter{font-size:.8rem;color:var(--text-muted);text-align:right}.char-counter.is-over{color:var(--error);font-weight:600}.form-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.password-toggle{position:absolute;top:50%;transform:translateY(-50%);right:.5rem;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px}.password-toggle:hover{color:var(--text-primary);background:var(--hover-bg)}.password-toggle svg{width:18px;height:18px}.menu-button{position:relative;display:inline-flex}.menu-button__trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.menu-button__trigger:hover,.menu-button__trigger[aria-expanded=true]{background:var(--hover-bg);color:var(--text-primary)}.menu-button__trigger:focus-visible,.menu-button__item:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.menu-button__trigger svg{width:18px;height:18px}.menu-button__menu{position:fixed;min-width:180px;max-width:90vw;max-height:calc(100vh - 32px);overflow-y:auto;z-index:1000;background-color:var(--bg-elevated);border:1px solid var(--border-control);border-radius:8px;box-shadow:0 8px 24px #00000040;padding:.25rem}.menu-button__item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;background:transparent;color:var(--text-primary);font-size:.875rem;text-align:left;white-space:nowrap;border-radius:6px;cursor:pointer}.menu-button__item:hover:not(:disabled){background:var(--hover-bg)}.menu-button__item:disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed}.menu-button__icon{display:flex;flex-shrink:0;color:var(--text-muted)}.menu-button__icon svg{width:1rem;height:1rem}.menu-button__label{flex:1;min-width:0}.menu-button__item.is-danger,.menu-button__item.is-danger .menu-button__icon{color:var(--error)}.menu-button__item.is-danger:hover:not(:disabled){background:#e355351f}app-toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);background-color:var(--bg-elevated);border:1px solid var(--border-control);color:var(--text-primary);padding:.7rem 1.2rem;border-radius:8px;box-shadow:0 4px 16px #00000040;z-index:1100;font-size:.9rem;max-width:90vw}body.has-player app-toast{bottom:calc(var(--player-height) + 1.5rem)}app-toast[data-kind=success]{border-color:var(--success)}app-toast[data-kind=error]{border-color:var(--error)}app-toast[data-kind=warning]{border-color:var(--warning)}app-tooltip{position:fixed;z-index:1200;background-color:var(--bg-elevated);border:1px solid var(--border-control);color:var(--text-primary);padding:.4rem .7rem;border-radius:6px;font-size:.8rem;max-width:240px;box-shadow:0 4px 12px #00000040;pointer-events:none}app-tooltip[hidden]{display:none}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modal-fade-in .2s ease}.modal-card{width:100%;max-width:560px;max-height:85vh;overflow-y:auto;animation:modal-pop .2s ease}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-head h3{margin:0}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}.modal-close svg{width:18px;height:18px}app-modal.is-closing .modal-overlay{animation:modal-fade-out .2s ease forwards}@keyframes modal-fade-in{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes modal-fade-out{to{opacity:0}}.confirm-dialog{display:flex;flex-direction:column;gap:1rem}.confirm-dialog__message{color:var(--text-secondary)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.6rem}back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:900;opacity:0;pointer-events:none;transition:opacity .2s ease}back-to-top.is-visible{opacity:1;pointer-events:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:.75rem;color:var(--text-secondary)}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background-color:var(--hover-bg);color:var(--text-muted)}.empty-state__icon svg{width:28px;height:28px}.empty-state__title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.empty-state__description{max-width:420px;font-size:.9rem}.empty-state__action{margin-top:.5rem}.load-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:.75rem;color:var(--error)}.load-error__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background-color:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.load-error__icon svg{width:28px;height:28px}.load-error__message{font-size:.9rem}.progress-bar{width:100%;height:8px;border-radius:999px;background-color:var(--hover-bg);overflow:hidden}.progress-bar__fill{height:100%;background-color:var(--accent-primary);border-radius:999px;transition:width .3s ease}.progress-bar.is-indeterminate .progress-bar__fill{width:40%;animation:progress-indeterminate 1.2s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--border-control);border-top-color:var(--accent-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner.spinner--sm{width:16px;height:16px;border-width:2px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;padding:.6rem .8rem;color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.data-table td{padding:.7rem .8rem;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody tr:hover{background-color:var(--hover-bg)}.data-table__empty-row td{text-align:center;color:var(--text-muted);padding:2rem}.editable-field{display:flex;align-items:center;gap:.5rem}.editable-field__display{color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.15rem .35rem}.editable-field__display:hover{background-color:var(--hover-bg)}.editable-field__edit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.editable-field__edit-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.editable-field__edit-btn svg{width:15px;height:15px}.editable-field__status{font-size:.8rem;color:var(--text-muted)}.editable-field__status.is-saved{color:var(--success)}.editable-field__status.is-error{color:var(--error)}.file-upload{display:flex;flex-direction:column;gap:.75rem}.file-upload__zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;border:2px dashed var(--border-control);border-radius:10px;background-color:var(--bg-input);text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.file-upload__zone:hover,.file-upload__zone.is-dragover{border-color:var(--accent-primary);background-color:var(--hover-bg)}.file-upload__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--hover-bg);color:var(--text-muted)}.file-upload__icon svg{width:20px;height:20px}.file-upload__label{font-size:.9rem;color:var(--text-secondary);margin:0}.file-upload__file{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border-radius:8px;background-color:var(--hover-bg);font-size:.85rem}.file-upload__filename{font-weight:600;color:var(--text-primary);word-break:break-all}.file-upload__size{color:var(--text-muted);white-space:nowrap}.file-upload__progress{height:8px;border-radius:999px;background-color:var(--hover-bg);overflow:hidden}.file-upload__progress-fill{height:100%;background-color:var(--accent-primary);border-radius:999px;width:0;transition:width .2s ease}.file-upload__status{font-size:.85rem;margin:0}.file-upload__status.is-info{color:var(--info)}.file-upload__status.is-success{color:var(--success)}.file-upload__status.is-error{color:var(--error)}.file-upload__editor{display:flex;flex-direction:column;align-items:center;gap:.9rem}.avatar-crop__viewport{width:240px;height:240px;border-radius:50%;overflow:hidden;position:relative;background-color:var(--bg-input);border:2px solid var(--border-control);cursor:grab;touch-action:none;box-shadow:0 0 0 1px var(--hover-bg)}.avatar-crop__viewport.is-dragging{cursor:grabbing}.avatar-crop__img{position:absolute;top:0;left:0;max-width:none;max-height:none;transform-origin:0 0;user-select:none;-webkit-user-drag:none;pointer-events:none}.avatar-crop__controls{width:100%;max-width:320px;display:flex;flex-direction:column;gap:.6rem}.avatar-crop__zoom-label{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-secondary)}.avatar-crop__zoom-label input[type=range]{flex:1}.avatar-crop__hint{font-size:.8rem;color:var(--text-muted);text-align:center;margin:0}.avatar-crop__actions{display:flex;justify-content:center;gap:.6rem}.avatar-crop__frame{position:relative;width:fit-content;margin:0 auto}.avatar-crop__trigger{position:relative;display:block;width:140px;height:140px;padding:0;border-radius:50%;overflow:hidden;border:2px solid var(--border-control);background-color:var(--bg-input);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.avatar-crop__trigger:hover{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--hover-bg)}.avatar-crop__trigger img{width:100%;height:100%;object-fit:cover;display:block}.avatar-crop__trigger-empty{display:grid;place-items:center;width:100%;height:100%;color:var(--text-muted);font-size:3rem;font-weight:700}.avatar-crop__trigger-empty svg{width:40px;height:40px}.avatar-crop__trigger-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background-color:#00000073;color:#fff;font-size:.75rem;font-weight:600;opacity:0;transition:opacity .15s ease}.avatar-crop__trigger-overlay svg{width:22px;height:22px}.avatar-crop__trigger:hover .avatar-crop__trigger-overlay,.avatar-crop__trigger:focus-visible .avatar-crop__trigger-overlay{opacity:1}.avatar-crop__download{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background-color:var(--bg-elevated);border:1px solid var(--border-control);color:var(--text-secondary);box-shadow:0 1px 3px #0003;transition:color .15s ease,border-color .15s ease}.avatar-crop__download svg{width:16px;height:16px}.avatar-crop__download:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.audio-player{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border-radius:10px;background-color:var(--bg-input);border:1px solid var(--border-control)}.audio-player__play{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:none;border-radius:50%;background-color:var(--accent-primary);color:var(--on-accent);cursor:pointer;transition:opacity .15s ease}.audio-player__play:hover{opacity:.85}.audio-player__play svg{width:18px;height:18px}.audio-player__time{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.audio-player__seek{flex:1;min-width:80px}.audio-player__volume{width:90px}global-player{display:none}global-player.is-active{display:block}.global-player{position:fixed;left:0;right:0;bottom:0;z-index:950;display:grid;grid-template-columns:1fr minmax(0,1.6fr) 1fr;align-items:center;gap:1rem;height:var(--player-height);padding:0 1rem;background:var(--bg-elevated);border-top:1px solid var(--border-subtle);transition:transform .28s ease,opacity .28s ease}global-player.is-active.is-entering .global-player,global-player.is-active.is-leaving .global-player{transform:translateY(100%);opacity:0}global-player.is-active:not(.is-entering):not(.is-leaving) .global-player{transform:translateY(0);opacity:1}.gp-left{display:flex;align-items:center;gap:.6rem;min-width:0}.gp-art{width:44px;height:44px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--bg-input);color:var(--accent-primary);display:grid;place-items:center}.gp-art img{width:100%;height:100%;object-fit:cover;display:block}.gp-art__placeholder{display:inline-flex}.gp-art__placeholder svg{width:20px;height:20px}.gp-meta{min-width:0;display:flex;flex-direction:column;gap:.1rem}.gp-title{font-weight:600;color:var(--text-primary);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-center{display:flex;flex-direction:column;gap:.35rem;min-width:0}.gp-controls{display:flex;align-items:center;justify-content:center;gap:.9rem}.gp-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.gp-btn:hover{background:var(--bg-input);color:var(--text-primary)}.gp-btn.is-active{color:var(--accent-primary)}.gp-btn svg{width:18px;height:18px}.gp-play{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:var(--accent-primary);color:var(--on-accent);cursor:pointer;transition:opacity .15s ease}.gp-play:hover{opacity:.85}.gp-play svg{width:18px;height:18px}.gp-progress{display:flex;align-items:center;gap:.5rem}.gp-time{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:2.4em;text-align:center}.gp-bar{position:relative;flex:1;height:18px;display:flex;align-items:center;cursor:pointer;touch-action:none}.gp-bar__track{position:relative;width:100%;height:4px;border-radius:999px;background:var(--border-control);overflow:visible}.gp-bar__fill{position:absolute;left:0;top:0;height:100%;width:0%;border-radius:999px;background:var(--accent-secondary);pointer-events:none}.gp-bar:hover .gp-bar__fill,.gp-bar.is-scrubbing .gp-bar__fill{background:var(--accent-primary)}.gp-bar__thumb{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--text-primary);transform:translate(-50%,-50%);opacity:0;pointer-events:none}.gp-bar:hover .gp-bar__thumb,.gp-bar.is-scrubbing .gp-bar__thumb{opacity:1}.gp-bar__preview{position:absolute;left:0;height:100%;width:0%;border-radius:999px;background:var(--bg-header);opacity:0;pointer-events:none}.gp-bar:hover .gp-bar__preview,.gp-bar.is-scrubbing .gp-bar__preview{opacity:1}.gp-bar__tooltip{position:absolute;top:-26px;transform:translate(-50%);padding:.2rem .5rem;border-radius:6px;background:var(--text-primary);color:var(--bg-main);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.gp-bar__tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text-primary)}.gp-right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.gp-volume{display:flex;align-items:center;gap:.35rem}.gp-vol{-webkit-appearance:none;appearance:none;width:80px;height:16px;background:transparent;cursor:pointer;border:none;padding:0}.gp-vol:focus{outline:none;border:none;box-shadow:none}.gp-vol::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--accent-primary) var(--gp-fill, 100%),var(--border-control) var(--gp-fill, 100%))}.gp-vol::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);margin-top:-4px}.gp-vol::-moz-range-track{height:4px;border-radius:999px;background:var(--border-control)}.gp-vol::-moz-range-progress{height:4px;border-radius:999px;background:var(--accent-primary)}.gp-vol::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-primary);border:none}.gp-detail{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:8px;color:var(--text-secondary);text-decoration:none;transition:background .15s ease,color .15s ease}.gp-detail:hover{background:var(--bg-input);color:var(--accent-primary);text-decoration:none}.gp-detail svg{width:18px;height:18px}.gp-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.gp-close:hover{background:var(--bg-input);color:var(--text-primary)}.gp-close svg{width:16px;height:16px}@media(max-width:720px){.global-player{grid-template-columns:1fr 2fr 1fr;gap:.5rem}.gp-art,.gp-sub,.gp-volume,.gp-current,.gp-duration{display:none}}.navbar{display:flex;align-items:center;justify-content:space-between;height:var(--navbar-height);padding:0 1.5rem;background-color:var(--bg-header);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:500;transition:transform .25s ease}.navbar.is-hidden{transform:translateY(-100%)}.navbar-left{display:flex;align-items:center;gap:.75rem;min-width:0}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.mobile-nav-toggle:hover{background:var(--hover-bg);color:var(--text-primary)}.mobile-nav-toggle svg{width:22px;height:22px}.page-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary)}.navbar-right{display:flex;align-items:center;gap:.75rem}.user-profile{display:flex;align-items:center;gap:.6rem}.user-link{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;cursor:pointer;padding:.25rem .4rem;border-radius:8px;transition:background .15s ease}.user-link:hover{background:var(--hover-bg)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background-color:var(--hover-bg);color:var(--text-secondary)}.user-avatar svg{width:18px;height:18px}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-info{display:flex;flex-direction:column;line-height:1.2}.user-email{font-size:.85rem;font-weight:600;color:var(--text-primary)}.logout-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.logout-btn:hover{background:var(--hover-bg);color:var(--error)}.logout-btn svg{width:18px;height:18px}@media(max-width:768px){.mobile-nav-toggle{display:inline-flex}.user-info{display:none}}.navbar-context{display:none;align-items:center;gap:.6rem;min-width:0}.navbar.has-context .navbar-context{display:flex}.navbar.has-context .page-title{display:none}.navbar-context-back{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:8px;background:transparent;font:inherit;color:var(--text-secondary);text-decoration:none;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.navbar-context-back:hover{background:var(--hover-bg);color:var(--text-primary)}.navbar-context-back svg{width:20px;height:20px}.navbar-context-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--bg-input);color:var(--accent-primary);font-weight:700;font-size:1rem;flex-shrink:0}.navbar-context-avatar svg{width:18px;height:18px}.navbar-context-avatar.navbar-context-cover{border-radius:8px;overflow:hidden;padding:0;background:none}.navbar-context-avatar.navbar-context-cover img{display:block;width:100%;height:100%;object-fit:cover}.navbar-context-body{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}.navbar-context-title{font-size:.98rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-context-sub{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.navbar-context-sub{display:none}}.sidebar{display:flex;flex-direction:column;width:240px;flex-shrink:0;background-color:var(--bg-sidebar);border-right:1px solid var(--border);height:100dvh;position:sticky;top:0;padding:1rem .75rem;transition:height .28s ease}.has-player .sidebar{height:calc(100dvh - var(--player-height))}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:.25rem .5rem 1rem}.sidebar-brand svg{width:28px;height:28px;color:var(--accent-primary)}.sidebar-brand span{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.sidebar-nav{display:flex;flex-direction:column;gap:.15rem;flex:1;min-height:0;overflow-y:auto}.sidebar-nav a{text-decoration:none;-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease;-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--hover-bg);color:var(--text-primary);text-decoration:none}.nav-item.active{background:var(--hover-bg);color:var(--accent-primary)}.nav-item.active .nav-icon{color:var(--accent-primary)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.nav-icon svg{width:18px;height:18px}.nav-item-disabled{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:8px;color:var(--text-muted);font-size:.9rem;opacity:.6;cursor:default}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.75rem .5rem .25rem;border-top:1px solid var(--border);margin-top:auto;text-decoration:none;color:inherit;cursor:pointer;border-radius:8px;transition:background .15s ease}.sidebar-user:hover{background:var(--hover-bg)}.sidebar-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background-color:var(--hover-bg);color:var(--text-primary);font-weight:700;font-size:.9rem;overflow:hidden}.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{font-size:.8rem;color:var(--text-secondary);word-break:break-all}.sidebar-backdrop{display:none}.sidebar-head{display:flex;align-items:center;gap:.5rem;padding:.25rem .25rem 1rem;min-width:0}.sidebar-head .sidebar-brand{flex:1 1 auto;min-width:0;padding:.25rem}.panel-switch{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;padding:2px;border-radius:999px;background-color:var(--hover-bg);border:1px solid var(--border)}.panel-switch__item{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;border-radius:999px;color:var(--text-muted);text-decoration:none;transition:background .15s ease,color .15s ease}.panel-switch__item svg{width:15px;height:15px}.panel-switch__item:hover{color:var(--text-primary);text-decoration:none}.panel-switch__item.is-active{background-color:var(--accent-primary);color:var(--on-accent)}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:600;transform:translate(-100%);transition:transform .25s ease;box-shadow:0 0 24px #00000059}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background-color:#00000073;z-index:590;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto}body.is-nav-open{overflow:hidden}}upload-tray{display:block}.upload-tray{border-top:1px solid var(--border);padding:.5rem .25rem;max-height:40vh;overflow-y:auto}.upload-tray__title{margin:0 0 .4rem;padding:0 .35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.upload-tray__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.upload-tray__item{display:flex;align-items:flex-start;gap:.55rem;padding:.35rem;border-radius:8px;background:var(--hover-bg)}.upload-tray__item.is-done .upload-tray__icon{color:var(--success, #91d6a7)}.upload-tray__item.is-error .upload-tray__icon{color:var(--danger, #ff7e70)}.upload-tray__icon{display:inline-flex;flex-shrink:0;color:var(--accent-primary);margin-top:1px}.upload-tray__icon svg{width:16px;height:16px}.upload-tray__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.upload-tray__label{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-tray__meta{display:flex;align-items:center;gap:.5rem}.upload-tray__meta--text{font-size:.75rem;color:var(--text-muted)}.upload-tray__bar{flex:1;min-width:0}.upload-tray__bar progress-bar{display:block;width:100%}.upload-tray__pct{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:2.4rem;text-align:right}sub-app-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.subapp-tabs{position:relative;display:flex;padding:0;border-bottom:1px solid var(--border-control);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.subapp-tabs::-webkit-scrollbar{display:none}.subapp-tab{appearance:none;border:none;background:transparent;color:var(--text-secondary);font:inherit;font-size:.9rem;font-weight:600;padding:.5rem 1rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;flex-shrink:0;position:relative;transition:color .2s ease}.subapp-tab:hover{color:var(--text-primary)}.subapp-tab.is-active{color:var(--accent-primary)}.subapp-tab.is-dirty:after{content:"";position:absolute;top:.4rem;right:.5rem;width:7px;height:7px;border-radius:50%;background-color:var(--warning)}.subapp-tab-icon{display:flex;align-items:center}.subapp-tab-icon svg{width:16px;height:16px}.subapp-tab-indicator{position:absolute;left:0;bottom:0;height:3px;background-color:var(--accent-primary);transition:transform .32s ease,width .32s ease}.subapp-stage{position:relative;flex:1;min-height:0}.subapp-pane{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;visibility:hidden;background:transparent;border:none;padding:1rem}.subapp-pane.is-visible{visibility:visible}.subapp-pane :where(h2){font-size:1.05rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.subapp-pane :where(h3){font-size:.95rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.subapp-pane :where(p){color:var(--text-secondary)}.subapp-pane :where(section+section){margin-top:1.75rem}.subapp-pane :where(dl){display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1.25rem;margin:0}.subapp-pane dl>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}.subapp-pane :where(dt){font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.subapp-pane :where(dd){margin:0;font-size:.9rem;color:var(--text-secondary);overflow-wrap:anywhere}.drive{display:flex;flex-direction:column;gap:var(--space-3, 12px);min-width:0}.drive__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap}.drive__crumbs{display:flex;align-items:center;gap:2px;min-width:0;flex-wrap:wrap}.drive__crumb{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:none;background:transparent;color:var(--text-secondary, inherit);font:inherit;font-size:.9rem;border-radius:var(--radius-sm, 6px);cursor:pointer;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive__crumb svg{flex:0 0 auto;width:16px;height:16px}.drive__crumb:hover{background:var(--bg-hover, rgba(128, 128, 128, .12));color:var(--text-primary, inherit)}.drive__crumb-sep{color:var(--text-tertiary, rgba(128, 128, 128, .5));display:inline-flex;align-items:center}.drive__crumb-sep svg{width:14px;height:14px}.drive__usage{font-size:.8rem;color:var(--text-tertiary, rgba(128, 128, 128, .8));white-space:nowrap}.drive__toolbar{display:flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap}.drive__drophint{font-size:.78rem;color:var(--text-tertiary, rgba(128, 128, 128, .8))}.drive__selectionbar{display:flex;align-items:center;gap:var(--space-2, 8px);padding:8px 12px;background:color-mix(in srgb,var(--accent-primary, #7c6cf0) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary, #7c6cf0) 35%,transparent);border-radius:var(--radius-sm, 8px)}.drive__selectionbar strong{color:var(--accent-primary, #7c6cf0)}.drive__selection-clear{margin-left:auto}.drive__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;min-width:0}.drive__row{display:flex;align-items:center;gap:var(--space-2, 8px);padding:6px 8px;border-radius:var(--radius-sm, 8px);min-width:0}.drive__row:hover{background:var(--bg-hover, rgba(128, 128, 128, .1))}.drive__row.is-dragging{opacity:.4}.drive__row.is-drop-target,.drive__crumb.is-drop-target{outline:2px dashed var(--accent-primary, #7c6cf0);outline-offset:-2px}.drive__select{display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto}.drive__select input{position:absolute;opacity:0;pointer-events:none}.drive__select-box{width:18px;height:18px;border:1.5px solid var(--text-tertiary, rgba(128, 128, 128, .6));border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:transparent}.drive__select input:checked+.drive__select-box{background:var(--accent-primary, #7c6cf0);border-color:var(--accent-primary, #7c6cf0);color:var(--on-accent, #fff)}.drive__select input:checked+.drive__select-box:after{content:"\2713";font-size:12px}.drive__main{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--text-primary, inherit);font:inherit;text-align:left;cursor:default;padding:2px 0}.drive__row.is-folder .drive__main{cursor:pointer}.drive__icon{flex:0 0 auto;display:inline-flex;color:var(--accent-primary, #7c6cf0)}.drive__row.is-folder .drive__icon{color:var(--text-secondary, inherit)}.drive__icon svg{width:20px;height:20px}.drive__name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive__badge{font-size:.7rem;padding:1px 6px;border-radius:999px;background:var(--bg-hover, rgba(128, 128, 128, .2));color:var(--text-tertiary, inherit);text-transform:uppercase;letter-spacing:.03em}.drive__size{flex:0 0 auto;font-size:.78rem;color:var(--text-tertiary, rgba(128, 128, 128, .8));font-variant-numeric:tabular-nums}.drive__actions{flex:0 0 auto}.drive__loading{padding:24px 8px}.drive-picker{display:flex;flex-direction:column;gap:var(--space-3, 12px);min-width:320px}.drive-picker__list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.drive-picker__folder{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;background:transparent;color:var(--text-primary, inherit);font:inherit;border-radius:var(--radius-sm, 6px);text-align:left;cursor:pointer}.drive-picker__folder svg{width:18px;height:18px;color:var(--text-secondary, inherit)}.drive-picker__folder:hover{background:var(--bg-hover, rgba(128, 128, 128, .12))}.drive-picker__empty{margin:8px 4px;font-size:.85rem;color:var(--text-tertiary, rgba(128, 128, 128, .8))}.drive{position:relative}project-drive{display:block;position:relative}.drive__head{flex-wrap:nowrap;align-items:center;gap:var(--space-3, 12px);min-height:40px}.drive__crumbs{flex:1 1 auto;min-width:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.drive__tools{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2, 8px)}.drive__tools-group{display:inline-flex;align-items:center;gap:var(--space-2, 8px);white-space:nowrap}.drive__selection-chip{font-size:.85rem;color:var(--text-secondary, inherit);white-space:nowrap}.drive__selection-chip strong{color:var(--accent-primary, #7c6cf0)}.drive__selection-clear{margin-left:2px}.drive__viewtoggle{display:inline-flex;border:1px solid var(--border, rgba(128, 128, 128, .25));border-radius:var(--radius-sm, 8px);overflow:hidden;flex:0 0 auto}.drive__viewtoggle__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;border:none;background:transparent;color:var(--text-tertiary, rgba(128, 128, 128, .8));cursor:pointer}.drive__viewtoggle__btn svg{width:16px;height:16px}.drive__viewtoggle__btn:hover{background:var(--bg-hover, rgba(128, 128, 128, .12));color:var(--text-primary, inherit)}.drive__viewtoggle__btn.is-active{background:color-mix(in srgb,var(--accent-primary, #7c6cf0) 18%,transparent);color:var(--accent-primary, #7c6cf0)}.drive__table{display:grid;grid-template-columns:36px minmax(auto,480px) auto auto auto minmax(0,1fr) 44px;min-width:0}.drive__list{display:contents}.drive__cols,.drive__row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;gap:var(--space-2, 8px);padding:4px 8px}.drive__cols{padding:0 8px 6px;font-size:.78rem;color:var(--text-secondary, inherit);border-bottom:1px solid var(--border-control, rgba(160, 160, 200, .45))}.drive__cols .drive__cell{color:inherit;font-weight:600}.drive__cols .drive__cell:nth-child(n+2):nth-child(-n+5){border-right:1px solid var(--border-control, rgba(160, 160, 200, .45));padding-right:1rem}.drive__table>empty-state{grid-column:1 / -1;display:block}.drive__cell{min-width:0}.drive__cell--check{display:flex;align-items:center}.drive__cell--name{display:flex;align-items:center;gap:10px;min-width:0}.drive__cell--date,.drive__cell--type{font-size:.82rem;color:var(--text-secondary, inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive__cell--size{font-size:.82rem;color:var(--text-tertiary, rgba(128, 128, 128, .8));text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.drive__cell--actions{display:flex;justify-content:flex-end}.drive__list{gap:0}.drive__row{border-radius:var(--radius-sm, 6px)}.drive__row:hover{background:var(--bg-hover, rgba(128, 128, 128, .12))}.drive__row.is-selected{background:color-mix(in srgb,var(--accent-primary, #7c6cf0) 14%,transparent)}.drive__cell--name.drive__main{border:none;background:transparent;color:var(--text-primary, inherit);font:inherit;text-align:left;padding:2px 0;cursor:default}.drive__row.is-folder .drive__cell--name.drive__main{cursor:pointer}.drive__name{flex:1 1 auto}.drive__row .drive__icon,.drive__tile .drive__tile-icon{color:var(--text-secondary, inherit)}.drive__row.is-system .drive__icon,.drive__tile.is-system .drive__tile-icon{color:var(--accent-secondary, #b98a2f)}.drive__badge{flex:0 0 auto}.drive__cell--actions{visibility:hidden}.drive__row:hover .drive__cell--actions,.drive__row:focus-within .drive__cell--actions{visibility:visible}.drive__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2, 8px);padding-top:4px}.drive__tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 10px;border:1px solid var(--border, rgba(128, 128, 128, .18));border-radius:var(--radius-md, 10px);background:transparent;color:var(--text-primary, inherit);font:inherit;cursor:default;text-align:center}.drive__tile.is-folder{cursor:pointer}.drive__tile:hover{background:var(--bg-hover, rgba(128, 128, 128, .12))}.drive__tile.is-drop-target{outline:2px dashed var(--accent-primary, #7c6cf0);outline-offset:-2px}.drive__tile-icon svg{width:44px;height:44px}.drive__tile-name{font-size:.85rem;line-height:1.2;overflow-wrap:anywhere}.drive__row.is-actionable,.drive__tile.is-actionable{cursor:pointer}.drive__row.is-uploading,.drive__tile.is-uploading{cursor:default}.drive__row.is-uploading:hover{background:var(--bg-hover, rgba(128, 128, 128, .12))}.drive__ghost-spinner{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--accent-primary, #7c6cf0)}.drive__ghost-spinner svg{width:15px;height:15px;animation:drive-spin 1s linear infinite}.drive__row.is-uploading .drive__name{flex:0 1 auto}.drive__tile.is-uploading .drive__ghost-spinner{margin-top:-4px}.drive-preview .modal-card{max-width:min(1080px,96vw)}.drive-preview .modal-body{display:flex;flex-direction:column;gap:var(--space-3, 12px);min-width:0}.drive-preview__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap}.drive-preview__meta{font-size:.85rem;color:var(--text-secondary, inherit)}.drive-preview__stage{min-height:260px;display:flex;align-items:center;justify-content:center}.drive-preview__stage--fill{min-height:0}.drive-preview__stage--text{display:block;overflow:auto;max-height:60vh;background:var(--bg-input, #24213e);border:1px solid var(--border-control, rgba(160, 160, 200, .45));border-radius:var(--radius-sm, 8px)}.drive-preview__img{max-width:100%;max-height:66vh;object-fit:contain;border-radius:var(--radius-sm, 8px)}.drive-preview__iframe{width:100%;height:66vh;border:1px solid var(--border-control, rgba(160, 160, 200, .45));border-radius:var(--radius-sm, 8px);background:var(--bg-input, #24213e)}.drive-preview__text{margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-primary, inherit)}.drive-preview__loading{display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary, inherit);font-size:.9rem}.drive-preview__loading svg{width:18px;height:18px;animation:drive-spin 1s linear infinite}.drive-preview__error{color:var(--text-secondary, inherit);font-size:.9rem;text-align:center;max-width:440px}@keyframes drive-spin{to{transform:rotate(360deg)}}.kanban{display:flex;flex-direction:column;height:100%;min-height:0;gap:.5rem}.kanban-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.kanban-head h2{margin:0}.kanban-head__actions{display:flex;gap:.5rem;flex-wrap:wrap}.kanban-board{flex:1;min-height:0;display:flex;flex-direction:column;gap:.5rem}.kanban-hint{margin:0 0 .25rem}.kanban-loading,.kanban-error{padding:2rem 0;text-align:center}.kanban-columns{flex:1;min-height:0;display:flex;gap:1rem;align-items:stretch;overflow-x:auto;padding:.25rem .25rem .75rem}.kanban-column{flex:0 0 280px;min-width:280px;max-width:320px;display:flex;flex-direction:column;min-height:0;border:1px solid var(--border-subtle);border-radius:.75rem;background-color:color-mix(in srgb,var(--bg-elevated) 80%,var(--stage-color, var(--bg-elevated)) 20%)}.kanban-column__head{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--border-subtle)}.kanban-column__dot{width:10px;height:10px;border-radius:999px;background:var(--stage-color, var(--border));flex:0 0 auto}.kanban-column__title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-column__count{flex:0 0 auto;font-size:.75rem;line-height:1;padding:.25rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--bg-main) 60%,transparent);color:var(--text-muted);border:1px solid var(--border-subtle)}.kanban-column__body{flex:1;min-height:0;overflow-y:auto;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.kanban.is-board-dragging .kanban-column__body{z-index:1}.kanban-column__body.is-drag-over{background-color:color-mix(in srgb,var(--accent-primary) 8%,transparent);outline:2px dashed var(--accent-primary);outline-offset:-2px;border-radius:.5rem}.kanban-column__empty{margin:0;padding:.5rem 0;text-align:center;color:var(--text-muted);font-size:.8rem}.kanban-drop-indicator{position:absolute;left:.5rem;right:.5rem;height:3px;border-radius:999px;background:var(--accent-primary);opacity:0;pointer-events:none;z-index:2}.kanban-drop-indicator.is-visible{opacity:1}.kanban-card{display:flex;gap:.5rem;align-items:flex-start;padding:.55rem;border-radius:.6rem;border:1px solid var(--border-subtle);background-color:color-mix(in srgb,var(--bg-main) 92%,var(--stage-color, var(--bg-main)) 8%);cursor:grab;box-shadow:0 1px 2px #0000001f}.kanban-card:hover{border-color:var(--border-control)}.kanban-card.is-dragging{opacity:.45}.kanban-card__cover{position:relative;width:40px;height:40px;border-radius:.45rem;overflow:hidden;flex:0 0 auto;background:var(--bg-elevated);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.kanban-card__cover-img{width:100%;height:100%;object-fit:cover;display:block}.kanban-card__cover-icon svg{width:18px;height:18px}.kanban-card__cover-icon--file{color:var(--text-tertiary, var(--text-muted))}.kanban-card__eq{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2px;color:#fff;opacity:0;transition:opacity .15s ease;pointer-events:none}.kanban-card__eq span{width:3px;height:12px;border-radius:2px;background:currentColor;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65));animation:song-eq-bounce .9s ease-in-out infinite backwards}.kanban-card__eq span:nth-child(2){animation-delay:.18s}.kanban-card__eq span:nth-child(3){animation-delay:.36s}.kanban-card.is-current .kanban-card__eq{opacity:1}.kanban-card.is-current .kanban-card__cover-icon{visibility:hidden}.kanban-card__eq.is-paused span{animation:none;transform:scaleY(.45)}.kanban-card__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.kanban-card__title{text-align:left;font-family:inherit;background:none;border:none;padding:0;color:var(--text-primary);font-weight:600;font-size:.92rem;line-height:1.25;cursor:pointer;overflow-wrap:anywhere}.kanban-card__title:hover{color:var(--accent-secondary);text-decoration:none}.kanban-card__meta{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.8rem;min-width:0}.kanban-card__meta-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card__play{border:1px solid var(--border-control);background:transparent;color:var(--text-secondary);border-radius:999px;width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.kanban-card__play svg{width:12px;height:12px}.kanban-card__play:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.kanban-card__play.is-current{color:var(--accent-primary)}.kanban-card__play.is-playing{color:var(--success)}.kanban-card__note{margin:.15rem 0 0;display:flex;gap:.3rem;align-items:flex-start;color:var(--text-secondary);font-size:.78rem;background:var(--bg-elevated);border-radius:.4rem;padding:.25rem .4rem}.kanban-card__note svg{width:12px;height:12px;flex:0 0 auto;margin-top:1px;color:var(--text-muted)}.kanban-card__note span{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kanban-card__menu{flex:0 0 auto;align-self:flex-start}.stage-settings{display:flex;flex-direction:column;gap:.75rem}.stage-settings__list{display:flex;flex-direction:column;gap:.4rem;max-height:45vh;overflow-y:auto;padding-right:.15rem}.stage-settings__row{display:flex;align-items:center;gap:.4rem}.stage-settings__order{flex:0 0 1.2rem;text-align:center;color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.stage-settings__color{width:30px;height:30px;padding:2px;border:1px solid var(--border-control);border-radius:.45rem;background:var(--bg-input);cursor:pointer;flex:0 0 auto}.stage-settings__label{flex:1;min-width:0}.stage-settings__count{flex:0 0 auto;font-size:.75rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;padding:.15rem .45rem}.stage-settings__delete{color:var(--text-muted)}.stage-settings__delete:hover{color:var(--error)}.stage-settings__new{display:flex;gap:.5rem;align-items:center}.stage-settings__new .stage-settings__label{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;flex-wrap:wrap}@media(max-width:640px){.kanban-column{flex-basis:82vw;min-width:82vw;scroll-snap-align:start;scroll-snap-stop:always}.kanban-columns{scroll-snap-type:x mandatory}.kanban-card{-webkit-user-drag:none}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:var(--bg-main)}.auth-card{width:100%;max-width:440px;padding:2rem}.auth-card h2{margin-bottom:.25rem}.auth-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.auth-footer{margin-top:1.25rem;text-align:center;font-size:.875rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.5rem}.auth-footer a{color:var(--accent-primary)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.25rem;color:var(--accent-primary)}.auth-logo svg{width:32px;height:32px}.auth-logo span{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.verify-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background-color:var(--hover-bg);color:var(--text-muted)}.verify-icon svg{width:32px;height:32px}.verify-icon.is-success{background-color:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.verify-icon.is-error{background-color:color-mix(in srgb,var(--error) 18%,transparent);color:var(--error)}.verify-resend-ok{color:var(--success);font-size:.875rem;margin-top:.5rem}.legal-content{font-family:var(--font-sans);font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;color:var(--text-secondary);max-height:60vh;overflow-y:auto;padding:.25rem}.profile-avatar-row{display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-avatar-upload{width:100%;text-align:center}.member-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-bio{font-size:.8rem;color:var(--text-muted);margin-top:.25rem;overflow-wrap:anywhere}.member-handle{font-size:.8rem;color:var(--text-muted);margin-left:.35rem}.ui-kit-shell{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 4rem}.ui-kit-section{margin-bottom:2.5rem}.ui-kit-section>h2{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.ui-kit-section>h3{margin-bottom:.75rem;color:var(--text-secondary);font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}.ui-kit-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem}.ui-kit-row--column{flex-direction:column;align-items:stretch}.ui-kit-theme-toggle{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-head h1{margin:0}.container-narrow{max-width:640px;margin:0 auto}.card-foot{padding:.75rem 1.25rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.input-sm{padding:.3rem .5rem;font-size:.85rem}.tag{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border-control);color:var(--text-secondary);font-size:.8rem;margin:.15rem .25rem .15rem 0}.project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.project-list__item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated);transition:border-color .15s ease}.project-list__item:hover{border-color:var(--border-control)}.project-list__item--link{padding:0}.project-list__item--link .project-list__link{flex:1;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:inherit;text-decoration:none}.project-list__item--link:hover .project-list__title{color:var(--accent-primary)}.project-list__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--bg-input);color:var(--accent-primary);flex-shrink:0}.project-list__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.project-list__title{font-weight:600;color:var(--text-primary)}.project-list__meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.project-list__chevron{color:var(--text-muted);display:inline-flex}.project-list__actions{display:flex;gap:.5rem;flex-shrink:0}.danger-zone{border-top:1px solid var(--border-control);padding-top:1.25rem;margin-top:1.75rem}.danger-zone__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--border-control);border-radius:10px;margin-bottom:.75rem}.danger-zone__row h3{margin:0 0 .25rem}.danger-zone__row p{margin:0;font-size:.85rem}.danger-zone__actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-status{margin:0 0 1rem}.project-detail-head{display:flex;align-items:flex-start;gap:1rem}.project-detail-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--bg-input);color:var(--accent-primary);flex-shrink:0}.project-detail-title{flex:1;min-width:0}.project-detail-title h1{margin:0 0 .5rem}.project-detail-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.project-detail-actions{display:flex;gap:.5rem;flex-shrink:0}.transfer-form{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.transfer-form select{flex:1;max-width:320px}.invite-form{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.invite-form .form-group{flex:1;min-width:200px;margin-bottom:0}.invite-form select{min-width:140px}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.member-list__item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated)}.member-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg-input);color:var(--accent-primary);font-weight:700;flex-shrink:0}.member-list__body{flex:1;min-width:0}.member-list__name{display:flex;align-items:center;gap:.5rem;margin-bottom:.1rem}.member-list__skills{display:flex;flex-wrap:wrap;gap:.15rem;margin-top:.35rem}.member-list__meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto}.member-type{font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.admin-member-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.admin-member-footer__right{display:flex;gap:.5rem;margin-left:auto}.admin-member-footer__remove{color:var(--error)}.project-overview{display:flex;flex-direction:column;gap:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.kpi-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.1rem}.kpi-card__icon svg{width:1.4rem;height:1.4rem;color:var(--accent-primary)}.kpi-card__body{display:flex;align-items:baseline;gap:.5rem}.kpi-card__value{font-size:1.7rem;font-weight:700;line-height:1;color:var(--text-primary)}.kpi-card__label{font-size:.85rem;color:var(--text-secondary)}.kpi-card__sub{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-overview__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.kpi-grid .card,.project-overview__grid .card,.project-overview .card-head h3{margin:0}.usage-meter__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-bottom:.5rem;font-size:.9rem}.usage-meter__head .text-muted{font-size:.8rem}.usage-meter__hint{margin:.5rem 0 0;font-size:.8rem}.plan-card__head{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.summary-dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0 0 .75rem}.summary-dl>div{display:contents}.summary-dl dt{font-size:.8rem;font-weight:600;color:var(--text-muted)}.summary-dl dd{margin:0;color:var(--text-primary);word-break:break-word}.songs-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.songs-head h2{margin:0}.songs-dropzone{position:absolute;inset:0;z-index:10;display:none;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center;padding:1.5rem;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);border:2px dashed var(--accent-primary);border-radius:12px;pointer-events:none}.songs-dropzone.is-active{display:flex}.song-list__item.is-uploading .song-list__play{cursor:default;pointer-events:none}.song-list__item.is-uploading .song-list__play:hover .song-list__title{color:inherit}.song-upload__row{display:flex;align-items:center;gap:.75rem;margin-top:.35rem;min-width:0}.song-upload__bar{flex:1;min-width:0}.song-upload__bar progress-bar{display:block;width:100%}.song-upload__pct{min-width:3rem;text-align:right;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.songs-dropzone__icon{display:inline-flex;color:var(--accent-primary);margin-bottom:.25rem}.songs-dropzone__title{margin:0 0 .15rem;font-weight:600;color:var(--text-primary)}.song-list{list-style:none;margin:0;padding:0}.song-table__head,.song-list__item{display:grid;grid-template-columns:52px minmax(0,1fr) 104px 132px 84px 44px;column-gap:.75rem;align-items:center;padding-left:.75rem;padding-right:.75rem}.song-table__head{padding-top:.55rem;padding-bottom:.55rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.song-table__head svg{width:15px;height:15px;vertical-align:-2px}.song-table__cell--stage,.song-table__cell--tempo,.song-table__cell--vis,.song-table__cell--dur{text-align:center;display:flex;justify-content:center}.song-table__cell--album{text-align:left}.song-list__item{position:relative}.song-list__item:hover{background:var(--hover-bg)}.song-list__play{grid-column:1 / 6;min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) 104px 132px 84px;column-gap:.75rem;align-items:center;padding:.6rem 0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:none}.song-list__play:hover .song-list__title{color:var(--accent-primary)}.song-list__play:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px;border-radius:8px}.songs-list--album .song-table__head,.songs-list--album .song-list__item{grid-template-columns:52px minmax(0,1fr) 160px 132px 104px 84px 44px}.songs-list--album .song-list__play{grid-column:1 / 7;grid-template-columns:52px minmax(0,1fr) 160px 132px 104px 84px}.songs-list--album .song-list__menu{grid-column:7}.song-list__album{display:inline-flex;align-items:center;gap:.4rem;min-width:0;color:var(--text-secondary);font-size:.85rem}.song-list__album svg{width:15px;height:15px;flex:none;color:var(--accent-secondary)}.song-list__album.is-empty{justify-content:center;color:var(--text-muted)}.song-list__album-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-list__icon{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--bg-input);color:var(--accent-primary)}.song-list__state{grid-area:1 / 1;display:grid;place-items:center;opacity:0;transition:opacity .15s ease;pointer-events:none}.song-list__state svg{width:18px;height:18px}.song-list__icon:has(>.song-list__cover){background:transparent;color:#fff;overflow:hidden}.song-list__icon>.song-list__cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.song-list__icon:has(>.song-list__cover) .song-list__state--music{opacity:0}.song-list__icon:has(>.song-list__cover) .song-list__state svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.song-list__state--music{opacity:1}.song-list__item:not(.is-no-audio):hover .song-list__state--music{opacity:0}.song-list__item:not(.is-no-audio):hover .song-list__state--play{opacity:1}.song-list__item.is-current .song-list__state--music{opacity:0}.song-list__item.is-current .song-list__state--eq{opacity:1}.song-list__item.is-current:hover .song-list__state--eq{opacity:0}.song-list__item.is-current:hover .song-list__state--action{opacity:1}.song-list__state--eq{display:flex;align-items:center;justify-content:center;gap:2px}.song-list__state--eq span{width:3px;height:12px;border-radius:2px;background:currentColor;animation:song-eq-bounce .9s ease-in-out infinite backwards}.song-list__state--eq span:nth-child(1){animation-delay:0s}.song-list__state--eq span:nth-child(2){animation-delay:.18s}.song-list__state--eq span:nth-child(3){animation-delay:.36s}.song-list__state--eq.is-paused span{animation:none;transform:scaleY(.45)}@keyframes song-eq-bounce{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.song-list__item.is-current .song-list__title{color:var(--accent-primary)}.song-sort__row:not(.is-no-audio):hover .song-list__state--music{opacity:0}.song-sort__row:not(.is-no-audio):hover .song-list__state--play{opacity:1}.song-sort__row.is-current .song-list__state--music{opacity:0}.song-sort__row.is-current .song-list__state--eq{opacity:1}.song-sort__row.is-current:hover .song-list__state--eq{opacity:0}.song-sort__row.is-current:hover .song-list__state--action{opacity:1}.song-sort__row.is-current .song-sort__title{color:var(--accent-primary)}.song-list__tt{min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.3}.song-list__title{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-list__composers{color:var(--text-muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-list__cell{color:var(--text-secondary);font-size:.9rem;white-space:nowrap;min-width:0}.song-list__tempo,.song-list__vis,.song-list__dur{text-align:center}.song-list__stage.is-empty{visibility:hidden}.song-list__stage:not(.is-empty){display:inline-flex;align-items:center;justify-content:center;gap:.3rem;max-width:100%}.song-list__stage-dot{width:8px;height:8px;border-radius:999px;background:var(--stage-color, var(--border));flex:0 0 auto}.song-list__stage-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-list__dur{font-variant-numeric:tabular-nums}.song-list__menu{grid-column:6;justify-self:center;opacity:0;transition:opacity .15s ease}.song-list__item:hover .song-list__menu,.song-list__menu:focus-within,.song-list__menu:has([aria-expanded=true]){opacity:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:560px){.form-row{grid-template-columns:1fr}}.song-sort__head,.song-sort__row{display:flex;align-items:center;gap:.6rem;padding:0 .5rem}.song-sort__head{padding-top:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.song-sort__head svg{width:15px;height:15px;vertical-align:-2px}.song-sort__list{list-style:none;margin:0;padding:0;position:relative}.song-sort__row{padding:.3rem .5rem;border-bottom:1px solid var(--border-subtle);user-select:none}.song-sort__row:last-child{border-bottom:none}.song-sort__row:hover{background:var(--hover-bg)}.song-sort__row.is-dragging{opacity:.45}.song-sort__head-num,.song-sort__num{width:24px;flex:none;text-align:center;color:var(--text-muted)}.song-sort__num{font-variant-numeric:tabular-nums;font-size:.85rem}.song-sort__head-grip,.song-sort__grip{width:22px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.song-sort__grip{cursor:grab;padding:.3rem 0;transition:color .15s ease}.song-sort__grip:hover{color:var(--text-secondary)}.song-sort__grip.is-grabbing{cursor:grabbing}.song-sort__head-title{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem}.song-sort__icon-sp{width:40px;flex:none}.song-sort__play{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem;padding:.2rem 0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.song-sort__play:hover .song-sort__title{color:var(--accent-primary)}.song-sort__tt{flex:1;min-width:0}.song-sort__title{display:block;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-sort__sub{display:block;color:var(--text-muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-sort__dur{width:64px;flex:none;text-align:center;font-size:.85rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.song-sort__head-dur{width:64px;display:flex;justify-content:center;text-align:center}.song-sort__head-actions{width:40px;flex:none}.song-sort__menu{flex:none;opacity:0;transition:opacity .15s ease}.song-sort__row:hover .song-sort__menu,.song-sort__menu:focus-within,.song-sort__menu:has([aria-expanded=true]){opacity:1}.song-list__drop-indicator{display:none;position:absolute;left:.5rem;right:.5rem;height:3px;border-radius:99px;background-color:var(--accent-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 35%,transparent);pointer-events:none;z-index:5}.song-list__drop-indicator.is-visible{display:block}.song-detail>section{margin-bottom:2rem}.song-hero{padding-bottom:1.75rem;border-bottom:1px solid var(--border-subtle);margin-bottom:2rem}.song-hero__grid{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:2rem;align-items:start}@media(max-width:900px){.song-hero__grid{grid-template-columns:minmax(0,160px) minmax(0,1fr)}}@media(max-width:620px){.song-hero__grid{grid-template-columns:1fr}}.song-hero-bar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem}.song-hero__cover{display:flex;flex-direction:column;align-items:center;min-width:0}.song-cover__play{display:grid;place-items:center;width:48px;height:48px;margin-top:1rem;border:none;border-radius:50%;background:var(--accent-primary);color:var(--on-accent);cursor:pointer;transition:transform .12s ease,filter .12s ease}.song-cover__play:hover{filter:brightness(1.07);transform:scale(1.04)}.song-cover__play svg{width:20px;height:20px;margin-left:2px}.song-cover__play--inline{margin-top:0;width:34px;height:34px;flex:none}.song-cover__play--inline svg{width:15px;height:15px;margin-left:1px}.cover-editor{position:relative;width:100%;max-width:210px}.cover-editor__btn{position:relative;display:block;width:100%;aspect-ratio:1 / 1;padding:0;border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;cursor:pointer;background:var(--bg-input);color:inherit}.cover-editor__btn img{display:block;width:100%;height:100%;object-fit:cover}.cover-editor__btn.is-busy{opacity:.6;pointer-events:none}.cover-editor__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%;height:100%;color:var(--text-muted);background:var(--bg-input)}.cover-editor__empty svg{width:44px;height:44px;color:var(--accent-secondary)}.cover-editor__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#fff;background:#00000073;opacity:0;transition:opacity .18s ease;font-size:.85rem;font-weight:600}.cover-editor__overlay svg{width:26px;height:26px}.cover-editor__btn:hover .cover-editor__overlay,.cover-editor__btn:focus-visible .cover-editor__overlay{opacity:1}.cover-editor__download{position:absolute;top:.55rem;right:.55rem;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#0000008c;color:#fff;opacity:0;transition:opacity .18s ease}.cover-editor__download svg{width:16px;height:16px}.cover-editor:hover .cover-editor__download,.cover-editor__download:focus-visible{opacity:1}.song-hero__info{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:.35rem 1.6rem;min-width:0;align-content:start}.song-info__item{min-width:0;padding:.3rem 0;display:flex;flex-direction:column;gap:.15rem}.song-info__item.is-wide{grid-column:1 / -1}.song-info__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.song-info__value-row{display:flex;align-items:flex-start;gap:.4rem;min-width:0}.song-info__text,.song-info__desc{color:var(--text-primary);font-size:.95rem;line-height:1.5;min-width:0}.song-info__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-info__desc{white-space:pre-wrap;word-break:break-word;max-width:100%}.song-info__empty{color:var(--text-muted)}.song-info__link{color:var(--accent-primary);font-weight:500;text-decoration:none;cursor:pointer}.song-info__link:hover{text-decoration:underline}.song-info__edit{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;margin-top:.1rem}.song-info__edit svg{width:14px;height:14px}.song-info__edit:hover{color:var(--accent-primary);background:var(--hover-bg)}.song-info__control{display:flex;align-items:flex-start;gap:.5rem;width:100%;min-width:0}.song-info__control textarea{flex:1;min-width:0}.song-info__control input,.song-info__control select{flex:none;width:150px;max-width:150px;min-height:0;height:auto;padding:0;margin:0;border:none;border-radius:0;border-bottom:1px solid var(--border-control);background:transparent;color:var(--text-primary);font-size:.95rem;line-height:normal;box-shadow:none}.song-info__control input:focus,.song-info__control select:focus{border-bottom-color:var(--accent-primary);box-shadow:0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent)}.song-info__control input[type=number]::-webkit-outer-spin-button,.song-info__control input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.song-info__control input[type=number]{-moz-appearance:textfield;appearance:textfield}.song-info__control select option{color:var(--text-primary);background-color:var(--bg-input)}:root[data-theme=dark] .song-info__control select{color-scheme:dark}:root[data-theme=light] .song-info__control select{color-scheme:light}.song-info__edit-actions{display:inline-flex;gap:.1rem;flex-shrink:0;align-items:center}.song-info__edit-actions .btn-icon{width:20px;height:20px}.song-info__edit-actions .btn-icon svg{width:13px;height:13px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;text-decoration:none}.btn-icon svg{width:16px;height:16px}.btn-icon:hover{color:var(--accent-primary);background:var(--hover-bg)}.song-lyrics{white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:1.7;margin:0;color:var(--text-primary)}.lyrics-modal__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem;flex-wrap:wrap}.audio-now{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-main)}.audio-now__play{display:grid;place-items:center;width:52px;height:52px;border:none;border-radius:50%;background:var(--accent-primary);color:var(--on-accent);cursor:pointer;flex-shrink:0;transition:transform .12s ease,filter .12s ease}.audio-now__play:hover{filter:brightness(1.07);transform:scale(1.03)}.audio-now__play svg{width:22px;height:22px;margin-left:2px}.audio-now__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.audio-now__info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.audio-now__sub{font-size:.85rem;color:var(--text-muted)}.audio-upload{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}.audio-upload h3{margin-top:0}.song-detail data-table{display:block;overflow-x:auto}.song-detail data-table .data-table{min-width:680px}.song-detail data-table[data-credits-table] .data-table{min-width:0}.table-actions{display:inline-flex;align-items:center;gap:.15rem;white-space:nowrap}.table-action.is-danger:hover{color:var(--error);background:color-mix(in srgb,var(--error) 14%,transparent)}.card-head__action{margin-left:auto}.card-head__actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.danger-section{border-top:1px solid var(--border-subtle);padding-top:1.5rem;margin-top:2.5rem}.danger-section h2{margin:0 0 .9rem;color:var(--error)}.danger-section .danger-zone__row{border-color:color-mix(in srgb,var(--error) 30%,transparent);background:color-mix(in srgb,var(--error) 6%,transparent)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;margin-top:.75rem}.media-card{display:flex;flex-direction:column;gap:.6rem;padding:.6rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;color:inherit;text-decoration:none;transition:background .15s ease,transform .15s ease}.media-card:hover{background:var(--hover-bg);transform:translateY(-2px);text-decoration:none}.media-card__cover{aspect-ratio:1 / 1;width:100%;border-radius:8px;overflow:hidden;background:var(--bg-input);display:flex;align-items:center;justify-content:center}.media-card__cover img{width:100%;height:100%;object-fit:cover;display:block}.media-card__placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:2rem}.media-card__body{display:flex;flex-direction:column;min-width:0}.media-card__name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card__meta{color:var(--text-muted);font-size:.8rem}.page-head__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.album-detail>section{margin-bottom:2rem}.album-detail data-table{display:block;overflow-x:auto}.album-detail data-table .data-table{min-width:640px}.track-list{list-style:none;margin:0;padding:0;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.track-list__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle)}.track-list__item:last-child{border-bottom:none}.track-list__item:hover{background:var(--hover-bg)}.track-list__main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;padding:.25rem;background:none;border:none;color:inherit;text-align:left;cursor:pointer}.track-list__num{width:1.5rem;flex-shrink:0;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.track-list__state{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background:var(--accent-primary);color:var(--on-accent)}.track-list__tt{flex:1;min-width:0}.track-list__title{display:block;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-list__composers,.track-list__project{display:block;color:var(--text-muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-list__dur{flex-shrink:0;color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.track-list__remove{flex-shrink:0}.add-panel{margin-bottom:1rem}.picker-list{list-style:none;margin:.5rem 0 0;padding:0;max-height:260px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:8px}.picker-list__item+.picker-list__item{border-top:1px solid var(--border-subtle)}.picker-list__item label{display:flex;align-items:center;gap:.6rem;padding:.45rem .75rem;cursor:pointer}.picker-list__item:hover{background:var(--hover-bg)}.picker-list__item input{accent-color:var(--accent-primary)}.picker-list__title{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.media-row{display:flex;align-items:center;gap:1rem;padding:.6rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;color:inherit;text-decoration:none;transition:background .15s ease}.media-row:hover{background:var(--hover-bg);text-decoration:none}.media-row__cover{width:56px;height:56px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--bg-input);display:flex;align-items:center;justify-content:center}.media-row__cover img{width:100%;height:100%;object-fit:cover;display:block}.media-row__placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.media-row__body{flex:1;min-width:0;display:flex;flex-direction:column}.media-row__name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-row__meta{color:var(--text-muted);font-size:.85rem}.media-row__chevron{flex-shrink:0;color:var(--text-muted)}.playlist-detail>section{margin-bottom:2rem}.playlist-hint{margin-top:.5rem;font-size:.85rem}.track-list__item[data-index]{cursor:default}.track-list__drag{display:flex;align-items:center;color:var(--text-muted);cursor:grab;flex-shrink:0;padding:.25rem}.track-list__item[draggable=true] .track-list__drag:hover{color:var(--text-secondary)}.track-list__item.is-dragging{opacity:.5}.track-list__tools{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.picker-group+.picker-group{margin-top:1rem}.picker-group h4{margin:0 0 .25rem;font-size:.95rem;color:var(--text-secondary)}.back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-decoration:none}.back-link svg{width:1rem;height:1rem}.back-link:hover{color:var(--accent-primary);text-decoration:none}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.admin-stat{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.25rem}.admin-stat__icon svg{width:1.4rem;height:1.4rem;color:var(--accent-primary)}.admin-stat__value{font-size:1.6rem;font-weight:700;color:var(--text-primary);line-height:1.1}.admin-stat__label{font-size:.8rem;color:var(--text-muted)}.admin-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.admin-link{display:flex;align-items:center;gap:.9rem;padding:1rem 1.25rem;color:inherit;text-decoration:none;transition:border-color .15s ease}.admin-link:hover{border-color:var(--accent-primary);text-decoration:none}.admin-link>svg{flex-shrink:0;color:var(--text-muted)}.admin-link>span:nth-child(2){display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.admin-link__icon svg{width:1.5rem;height:1.5rem;color:var(--accent-primary)}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}.admin-search{position:relative;flex:1 1 240px;min-width:220px}.admin-search svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--text-muted);pointer-events:none}.admin-search input{padding-left:2.2rem}.admin-list{list-style:none;margin:0;padding:0}.admin-row{display:flex;align-items:center;gap:1rem;padding:.75rem .25rem;border-bottom:1px solid var(--border)}.admin-row:last-child{border-bottom:none}.admin-row__main{display:flex;align-items:center;gap:.8rem;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.admin-row__main:hover .admin-row__title{color:var(--accent-primary)}.admin-row__main:hover{text-decoration:none}.admin-row__title{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-weight:600;color:var(--text-primary);transition:color .15s ease}.admin-row__sub{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;font-size:.8rem;color:var(--text-muted)}.admin-row__meta{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-shrink:0;font-size:.8rem;color:var(--text-secondary)}.admin-row__owner,.admin-row__counts{white-space:nowrap}.admin-load-more{padding-top:.75rem;text-align:center}.admin-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:var(--hover-bg);color:var(--text-primary);font-weight:700;flex-shrink:0}.admin-user-body{display:flex;flex-direction:column;min-width:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-bottom:1rem}.admin-dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0}.admin-dl>div{display:contents}.admin-dl dt{font-size:.8rem;color:var(--text-muted);font-weight:600}.admin-dl dd{margin:0;color:var(--text-primary);word-break:break-word}.admin-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.admin-members__item{display:flex;align-items:center;gap:.7rem}.admin-members__avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--hover-bg);color:var(--text-primary);font-weight:700;font-size:.85rem;flex-shrink:0}.admin-members__body{display:flex;flex-direction:column;min-width:0;flex:1}.admin-members__body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border)}.admin-inline-form select{max-width:220px}@media(max-width:640px){.admin-row{align-items:flex-start;flex-wrap:wrap}.admin-row__meta{justify-content:flex-start;flex-wrap:wrap}}.storage-meter__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-bottom:.5rem;font-size:.9rem}.storage-meter__head .text-muted{font-size:.8rem}.storage-meter p{margin:.4rem 0 0}.admin-dates{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.admin-dates__title{margin:0 0 .6rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.admin-dates__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem .9rem}.admin-dates__hint{margin:.4rem 0 .6rem;font-size:.8rem;color:var(--text-muted)}.admin-dates__label{display:flex;align-items:center;gap:.35rem}.admin-dates__label-text{cursor:default;-webkit-user-select:none;user-select:none}.admin-dates__label .field-help{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.admin-dates__label .field-help:hover{color:var(--text-secondary);background:var(--hover-bg)}.admin-dates__label .field-help svg{width:14px;height:14px}.admin-dates app-tooltip{max-width:280px}
