/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable;scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg-body);color:var(--text);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;line-height:1.6}}@layer components{.theme-toggle{z-index:1000;border:2px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:background var(--transition-duration), border-color var(--transition-duration), transform var(--transition-duration-fast), box-shadow var(--transition-duration);border-radius:50%;justify-content:center;align-items:center;font-size:1.4em;display:flex;position:fixed;top:.75rem;right:.75rem}.theme-toggle:hover{border-color:var(--accent);transform:scale(1.05)}.theme-toggle:focus,.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #4a9eff66}@media (min-width:640px){.theme-toggle{top:1rem;right:1rem}}.theme-icon{display:none}html:not([data-theme]) .theme-icon-moon,[data-theme=light] .theme-icon-moon,[data-theme=dark] .theme-icon-sun{display:inline}.container{padding:1rem;max-width:1200px;margin:0 auto;padding-top:3.5rem}@media (min-width:640px){.container{padding:1.25rem}}@media (min-width:1024px){.container{padding:1.5rem}}header{background:var(--bg-card);box-shadow:var(--shadow);border-radius:.75rem;margin-bottom:1rem;padding:1rem}@media (min-width:640px){header{margin-bottom:1.25rem;padding:1.25rem}}header h1{color:var(--header-title);word-break:break-word;margin-bottom:.75rem;font-size:1.5rem;line-height:1.3}@media (min-width:640px){header h1{margin-bottom:1rem;font-size:1.75rem}}.status-panel{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:1rem;display:flex}.status-block{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:.75rem;flex-direction:column;flex:1;gap:.5rem;min-width:260px;max-width:300px;padding:.875rem 1.125rem;display:flex}.status-block-title{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.5rem;font-weight:600}.status-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.status-label{color:var(--text-muted-2);white-space:nowrap;font-size:.78em;font-weight:600}.status-value,.status-pill{border-radius:999px;padding:.2rem .65rem;font-size:.78em;font-weight:600;display:inline-block}.status-value.ok,.status-pill-green{background:var(--status-ok-bg);color:var(--status-ok-text)}.status-value.error,.status-pill-red{background:var(--status-error-bg);color:var(--status-error-text)}.status-value.pending,.status-pill-yellow{background:var(--status-pending-bg);color:var(--status-pending-text)}.status-value.running{background:var(--status-running-bg);color:var(--status-running-text)}.status-pill-neutral{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border)}main{background:var(--bg-card);box-shadow:var(--shadow);border-radius:.75rem;padding:1rem}@media (min-width:640px){main{padding:1.25rem}}.tabs{border-bottom:2px solid var(--border);margin-bottom:1.25rem;display:flex}.tab-button{cursor:pointer;min-width:0;color:var(--text-muted-2);transition:color var(--transition-duration), border-color var(--transition-duration);text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:.5rem .75rem;font-size:.9em}@media (min-width:640px){.tab-button{padding:.625rem 1.25rem;font-size:1em}}.tab-button:hover{color:var(--text)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-content{padding-top:20px;display:none}.tab-content.active{display:block}.libraries-source-selector{border:1px solid var(--border);background:var(--bg-card-alt);border-radius:.5rem;gap:0;margin-bottom:1rem;display:flex;overflow:hidden}.libraries-source-btn{border:none;border-right:1px solid var(--border);min-width:0;color:var(--text-muted);cursor:pointer;transition:background var(--transition-duration), color var(--transition-duration);background:0 0;flex:1;padding:.625rem .875rem;font-size:.95em;font-weight:500}.libraries-source-btn:last-child{border-right:none}.libraries-source-btn:hover{background:var(--bg-card);color:var(--text)}.libraries-source-btn.active{background:var(--accent);color:#fff}.libraries-toolbar.actions{flex-wrap:wrap;gap:.75rem}.libraries-toolbar.actions .format-selector{flex:100%;min-width:0}@media (min-width:640px){.libraries-toolbar.actions .format-selector{flex:0 auto}}.libraries-toolbar-right{flex:100%;margin-left:0}@media (min-width:640px){.libraries-toolbar-right{flex:none;margin-left:auto}}.libraries-filter{align-items:center;gap:.5rem;display:flex}.libraries-actions{align-items:center;gap:.625rem;display:inline-flex}.actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.btn{cursor:pointer;transition:all var(--transition-duration);border:none;border-radius:.5rem;padding:.625rem 1.25rem;font-size:1em;font-weight:500}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-success{color:#fff;background:#28a745}.btn-success:hover:not(:disabled){background:#218838}.btn-danger{color:#fff;background:#dc3545}.btn-danger:hover:not(:disabled){background:#c82333}.btn-secondary{background:var(--bg-card-alt);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-large{width:100%;padding:.875rem 1.5rem;font-size:1.1em}.btn-small{padding:.375rem .75rem;font-size:.9em}.btn-icon{cursor:pointer;color:var(--text-muted-2);width:30px;height:30px;transition:color var(--transition-duration);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.5em;display:flex}.btn-icon:hover{color:var(--text)}.format-selector{align-items:center;gap:.5rem;display:flex}.format-selector label{font-weight:500}.format-selector select{border:1px solid var(--border-input);background:var(--bg-card);color:var(--text);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);border-radius:.5rem;padding:.5rem .75rem;font-size:1em}.search-input{border:1px solid var(--border-input);background:var(--bg-card);width:100%;min-width:0;max-width:100%;color:var(--text);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);border-radius:.5rem;padding:.5rem .75rem;font-size:1em}@media (min-width:640px){.search-input{width:auto;min-width:280px}}@media (min-width:768px){.search-input{min-width:420px}}.search-input:focus,.format-selector select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #4a9eff40}.info-box{background:var(--info-box-bg);border-left:4px solid var(--accent);color:var(--text);border-radius:.5rem;margin-bottom:1.25rem;padding:1rem;display:none}.info-box.show{display:block}.table-container{-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem;overflow-x:auto}@media (min-width:640px){.table-container{margin:0;padding:0}}.table-container table{min-width:600px}table{border-collapse:collapse;width:100%}thead{background:var(--bg-card-alt)}th,td{text-align:left;border-bottom:1px solid var(--border);color:var(--text);transition:background var(--transition-duration-fast);padding:.75rem}th{color:var(--text-muted);font-weight:600}tbody tr:hover{background:var(--bg-card-alt)}.empty-state{text-align:center;color:var(--text-muted-2);padding:2.5rem;font-style:italic}.jobs-list{flex-direction:column;gap:1rem;display:flex}.job-card{border:1px solid var(--border);background:var(--bg-card-alt);transition:box-shadow var(--transition-duration);border-radius:.75rem;padding:1rem}.job-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-duration);align-items:center;gap:.625rem;margin-bottom:.625rem;display:flex}.job-card.collapsed .job-header{margin-bottom:0}.job-header:hover{color:var(--accent)}.job-date{color:var(--text-muted);flex-shrink:0;font-size:.85em}.job-header-summary{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85em;overflow:hidden}.job-header .delete-job{flex-shrink:0}.job-id{color:var(--text-muted-2);flex-shrink:0;font-family:monospace;font-size:.9em}.job-status{border-radius:.5rem;padding:.25rem .75rem;font-size:.85em;font-weight:500}.job-status.pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.job-status.running{background:var(--status-running-bg);color:var(--status-running-text)}.job-status.completed{background:var(--status-ok-bg);color:var(--status-ok-text)}.job-status.failed{background:var(--status-error-bg);color:var(--status-error-text)}.job-items{margin-top:.625rem}.job-item{background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;margin-bottom:.5rem;padding:.625rem}.job-item-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.job-item-title{text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.job-item-meta{color:var(--text-muted);margin-bottom:.375rem;font-size:.85em}.job-item-progress{margin:.5rem 0;display:none}.job-progress-bar{background:var(--border);border-radius:9999px;height:16px;margin-bottom:.25rem;position:relative;overflow:hidden}.job-progress-bar-step{margin-top:0;margin-bottom:.25rem}.job-progress-fill{background:var(--accent);border-radius:9999px;height:100%;transition:width .3s ease-out}.job-progress-fill-step{background:var(--accent-hover,#2563eb);border-radius:9999px;height:100%;transition:width .3s ease-out}.job-bar-label{color:#fff;text-shadow:0 1px 2px #0006;pointer-events:none;white-space:nowrap;justify-content:center;align-items:center;font-size:.72em;font-weight:600;display:flex;position:absolute;inset:0}.job-progress-label{display:none}.job-logs{color:#d4d4d4;background:#1e1e1e;border-radius:.5rem;max-height:200px;margin-top:.5rem;padding:.625rem;font-family:monospace;font-size:.85em;position:relative;overflow-y:auto}.job-logs-copy-btn{float:right;color:#aaa;cursor:pointer;z-index:1;background:#2d2d2d;border:1px solid #444;border-radius:.25rem;margin:-.125rem .75rem .25rem .5rem;padding:.2rem .3rem;line-height:0;position:sticky;top:0}.job-logs-copy-btn:hover{color:#ddd;background:#3a3a3a}.job-log-line{margin-bottom:.125rem}.loading{border:2px solid var(--bg-card-alt);border-top:2px solid var(--accent);border-radius:50%;width:16px;height:16px;margin-left:.5rem;animation:1s linear infinite spin;display:inline-block}.auth-panel-content{padding:1rem}@media (min-width:640px){.auth-panel-content{padding:1.25rem}}.auth-panel{background:var(--bg-card);box-shadow:var(--shadow);border:2px solid var(--accent);border-radius:.75rem;margin-bottom:1.25rem}.auth-panel-header{background:var(--bg-card-alt);border-bottom:1px solid var(--border);border-radius:.75rem .75rem 0 0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.auth-panel-header h2{color:var(--header-title);margin:0;font-size:1.2em}.auth-steps{flex-direction:column;gap:1.25rem;display:flex}.auth-step{flex-direction:column;gap:.625rem;display:flex}.auth-step strong{color:var(--text-muted);margin-bottom:.25rem}.auth-select,.auth-input{border:1px solid var(--border-input);background:var(--bg-card);width:100%;max-width:600px;color:var(--text);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);border-radius:.5rem;padding:.625rem .75rem;font-size:1em}.auth-input:disabled{background:var(--bg-card-alt);cursor:not-allowed}.auth-instructions{color:var(--text-muted-2);margin:.25rem 0;font-size:.9em}.auth-instructions strong{color:var(--text)}.auth-error{background:var(--status-error-bg);color:var(--status-error-text);border-left:4px solid #dc3545;border-radius:.5rem;margin-top:1rem;padding:.75rem}.auth-success{background:var(--status-ok-bg);color:var(--status-ok-text);border-left:4px solid #28a745;border-radius:.5rem;margin-top:1rem;padding:.75rem}.tab-content>.settings-section:first-child{padding-top:0}.settings-section{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:.75rem;margin-bottom:1rem;padding:1rem}@media (min-width:640px){.settings-section{margin-bottom:1.25rem;padding:1.25rem}}.trim-defaults-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (min-width:400px){.trim-defaults-grid{grid-template-columns:1fr 1fr}}@media (min-width:768px){.trim-defaults-grid{grid-template-columns:repeat(4,1fr)}}.settings-section h3{color:var(--header-title);border-bottom:1px solid var(--border);margin-top:0;margin-bottom:1rem;padding-bottom:.625rem}.settings-row{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.settings-row:last-child{margin-bottom:0}.settings-row:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:.625rem}.settings-row:has(input[type=checkbox]) label{margin-bottom:0}.settings-row input[type=checkbox].settings-input{width:auto;min-width:1.1em;max-width:none;height:1.1em;box-shadow:none;accent-color:var(--accent);border:none;flex-shrink:0;margin:0;padding:0}.settings-row label{color:var(--text-muted);font-weight:600}.settings-input{border:1px solid var(--border-input);background:var(--bg-card);max-width:500px;color:var(--text);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);border-radius:.5rem;padding:.625rem .75rem;font-size:1em}.settings-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #4a9eff40}.settings-info{color:var(--text-muted-2);margin:0;font-size:.9em;line-height:1.5}.login-screen{background:var(--login-gradient);justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}@media (min-width:640px){.login-screen{padding:1.25rem}}.login-container{width:100%;max-width:500px}.login-container h1{text-align:center;color:var(--header-title);margin-bottom:1.25rem;font-size:1.75rem}@media (min-width:640px){.login-container h1{margin-bottom:1.875rem;font-size:2.5em}}.login-box{background:var(--login-box-bg);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:.75rem;padding:1.5rem}@media (min-width:640px){.login-box{padding:2.5rem}}.login-box h2{text-align:center;color:var(--header-title);margin-bottom:.625rem;font-size:1.8em}.login-description{text-align:center;color:var(--text-muted-2);margin-bottom:1.875rem;font-size:1em}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-form label{color:var(--text-muted);font-size:.95em;font-weight:600}.login-input{border:2px solid var(--border);transition:border-color var(--transition-duration), box-shadow var(--transition-duration);background:var(--bg-card);width:100%;color:var(--text);border-radius:.5rem;padding:.75rem 1rem;font-size:1em}.login-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4a9eff33}.login-status{background:var(--info-box-bg);border-left:4px solid var(--accent);color:var(--text);text-align:center;border-radius:.5rem;padding:.75rem}.login-error{background:var(--status-error-bg);color:var(--status-error-text);text-align:center;border-left:4px solid #dc3545;border-radius:.5rem;padding:.75rem}.login-help{color:var(--text-muted-2);text-align:center;margin-top:.625rem;font-size:.9em;line-height:1.5}.header-top{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}@media (min-width:768px){.header-top{flex-direction:row;justify-content:space-between;align-items:stretch;gap:1.5rem}.header-top h1{margin-bottom:0;padding-top:.25rem}}.user-display{color:var(--text-muted);font-size:.85em;font-weight:500}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--header-title);border-bottom:1px solid var(--border);transition:color var(--transition-duration);align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.625rem 0;font-size:1rem;display:flex}.collapsible-header:hover{color:var(--accent)}.collapsible-arrow{transition:transform var(--transition-duration) ease;text-align:center;flex-shrink:0;width:1em;font-size:.7em;display:inline-block}.collapsible-header:not(.collapsed) .collapsible-arrow,.job-card:not(.collapsed)>.job-header .collapsible-arrow,.transfer-card:not(.collapsed)>.transfer-card-header .collapsible-arrow{transform:rotate(90deg)}.jobs-section,.transfers-section{margin-bottom:1.5rem}.transfers-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.transfers-header h3,.transfers-section h3{color:var(--header-title);border-bottom:1px solid var(--border);flex:1;margin:0 0 .75rem;padding-bottom:.625rem;font-size:1rem}.transfer-view-toggle{gap:.5rem;margin-left:1rem;display:flex}.transfer-view-btn{border:1px solid var(--border);background:var(--bg-card-alt);color:var(--text);cursor:pointer;transition:background var(--transition-duration-fast), border-color var(--transition-duration-fast), color var(--transition-duration-fast);border-radius:.5rem;padding:.25rem .5rem;font-size:.9rem}.transfer-view-btn:hover{background:var(--bg-card)}.transfer-view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.transfers-list{-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem;overflow-x:auto}@media (min-width:640px){.transfers-list{margin:0;padding:0}}.transfers-table{border-collapse:separate;border-spacing:0;background:var(--bg-card);border-radius:.75rem;width:100%;min-width:500px}.transfers-table thead{background:0 0}.transfers-table th{background:var(--bg-card-alt);text-align:left;color:var(--header-title);border-bottom:2px solid var(--border);vertical-align:middle;padding:.75rem 1rem;font-size:.9em;font-weight:600}.transfers-table thead tr th:first-child{border-radius:.75rem 0 0}.transfers-table thead tr th:last-child{border-radius:0 .75rem 0 0}.transfers-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem 1rem}.transfer-th-expand{width:2.5em;min-width:2.5em}.transfer-expand-cell{text-align:center;width:2.5em;min-width:2.5em}.transfer-actions-cell{white-space:nowrap;text-align:right}.transfer-actions-cell .btn{justify-content:center;align-items:center;min-width:2rem;min-height:2rem;margin-left:.25rem;padding:.375rem;display:inline-flex}.transfer-actions-cell .btn:first-child{margin-left:0}.transfer-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.transfer-th-sort:hover{text-decoration:underline}.transfer-th-sort.sort-asc:after,.transfer-th-sort.sort-desc:after{opacity:.8;margin-left:.25rem;font-size:.85em}.transfer-th-sort.sort-asc:after{content:"▲"}.transfer-th-sort.sort-desc:after{content:"▼"}.transfer-status-cell{text-align:center;min-width:100px}.transfer-status-cell .transfer-status-progress{min-width:80px}.transfer-status-cell.transfer-status-cell-running .transfer-status-badge,.transfer-status-cell .transfer-status-progress[style*="display: block"]~.transfer-status-badge,.transfer-status-cell .transfer-status-progress[style*=display\:block]~.transfer-status-badge{display:none}.transfer-status-cell.transfer-status-cell-running .transfer-status-progress{display:block!important}.transfer-summary-row.expanded .transfer-status-cell .transfer-status-progress{display:none!important}.transfer-summary-row.expanded .transfer-status-cell .transfer-status-badge{display:inline-block!important}.transfer-status-cell .transfer-status-progress .job-progress-bar{height:20px;margin-top:.2rem}.transfer-status-cell .transfer-status-progress .job-item{background:0 0;border:none;border-radius:0;padding:.25rem 0}.transfer-status-cell .transfer-status-progress .job-item-progress{margin:0}.transfer-summary-row{transition:background var(--transition-duration-fast)}.transfer-summary-row:hover,.transfer-summary-row.expanded{background:var(--bg-card-alt)}.transfer-detail-row{display:none}.transfer-detail-row td{background:var(--bg-card);border-bottom:1px solid var(--border);vertical-align:top;width:100%;padding:0}.transfer-detail-content{width:100%;min-width:0;padding:0}.transfer-detail-grid{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;padding:1.25rem 1.5rem;display:grid}.transfer-detail-grid .transfer-field{margin-bottom:0}.transfer-field-wide,.transfer-detail-grid .transfer-card-actions,.transfer-detail-grid .transfer-detail-section-title,.transfer-detail-grid .transfer-detail-subsection-title{grid-column:1/-1}.transfer-detail-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);margin:.5rem 0 0;padding-bottom:.375rem;font-size:.8125rem;font-weight:600}.transfer-detail-section-title:first-child{margin-top:0}.transfer-detail-subsection-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.5rem;margin-bottom:.125rem;font-size:.75rem;font-weight:600}.transfer-summary-row.expanded .collapsible-arrow{transform:rotate(90deg)}.transfers-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination-controls{align-items:center;gap:1rem;display:flex}.pagination-info{color:var(--text-muted);font-size:.9em}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.transfer-card{border:1px solid var(--border);background:var(--bg-card-alt);border-radius:.75rem;overflow:hidden}.transfer-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-duration-fast);align-items:center;gap:.625rem;padding:.75rem 1rem;display:flex}.transfer-card-header:hover{background:var(--bg-card)}.transfer-summary{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.transfer-summary-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95em;overflow:hidden}.transfer-summary-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82em;overflow:hidden}.transfer-card-body{border-top:1px solid var(--border);background:var(--bg-card);padding:1rem 1.25rem}.transfer-field{align-items:center;gap:.75rem;width:100%;min-width:0;margin-bottom:.75rem;display:flex}.transfer-field:last-child{margin-bottom:0}.transfer-field{flex-wrap:wrap}@media (min-width:640px){.transfer-field{flex-wrap:nowrap}}.transfer-field label{color:var(--text-muted);min-width:100%;font-size:.875em;font-weight:600}@media (min-width:640px){.transfer-field label{flex-shrink:0;min-width:7rem}}.transfer-field span,.transfer-field code{color:var(--text);font-size:.9375em}.transfer-field code{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:.375rem;padding:.25rem .5rem;font-family:ui-monospace,monospace;font-size:.9375em}.transfer-field .settings-input{min-width:0;max-width:100%;transition:border-color var(--transition-duration-fast), box-shadow var(--transition-duration-fast);flex:1}.transfer-field .settings-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.transfer-mp3-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.transfer-mp3-controls .settings-input{width:auto;min-width:0;max-width:none}.transfer-author.settings-input,.transfer-title.settings-input,.transfer-series-select.settings-input{box-sizing:border-box;height:2.5rem;padding-top:0;padding-bottom:0}.transfer-checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:flex}.transfer-checkbox-label input{cursor:pointer}.transfer-card-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.625rem;margin-top:1.25rem;padding-top:1rem;display:flex}.transfer-card-actions .btn{transition:background var(--transition-duration-fast), transform .15s ease}.transfer-card-actions .btn:focus-visible{box-shadow:0 0 0 2px var(--bg-body), 0 0 0 4px var(--accent);outline:none}.transfer-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .625rem;font-size:.9375em;font-weight:600;display:inline-block}.transfer-status-badge.pending,.transfer-status-badge.awaiting_edit{color:#92400e;background:#fef3c7}.transfer-status-badge.approved{color:#065f46;background:#d1fae5}.transfer-status-badge.completed{color:#1e40af;background:#dbeafe}.transfer-status-badge.rejected{color:#991b1b;background:#fee2e2}.transfer-status-badge.cancelled{color:#374151;background:#f3f4f6}.transfer-status-badge.phase_download{color:#0369a1;background:#e0f2fe}.transfer-status-badge.phase_convert{color:#6d28d9;background:#ede9fe}.transfer-status-badge.phase_upload{color:#15803d;background:#dcfce7}[data-theme=dark] .transfer-status-badge.phase_download{color:#7dd3fc;background:#0c4a6e}[data-theme=dark] .transfer-status-badge.phase_convert{color:#c4b5fd;background:#3b0764}[data-theme=dark] .transfer-status-badge.phase_upload{color:#86efac;background:#14532d}[data-theme=dark] .transfer-status-badge.pending,[data-theme=dark] .transfer-status-badge.awaiting_edit{color:#fcd34d;background:#4a3f0a}[data-theme=dark] .transfer-status-badge.approved{color:#6ee7b7;background:#064e3b}[data-theme=dark] .transfer-status-badge.completed{color:#93c5fd;background:#1e3a8a}[data-theme=dark] .transfer-status-badge.rejected{color:#fca5a5;background:#7f1d1d}[data-theme=dark] .transfer-status-badge.cancelled{color:#d1d5db;background:#374151}.btn.trim-editor-open-btn{color:#92400e;background:#fef3c7;border-color:#fef3c7}.btn.trim-editor-open-btn:hover:not(:disabled){background:#fde68a;border-color:#fde68a}[data-theme=dark] .btn.trim-editor-open-btn{color:#fcd34d;background:#4a3f0a;border-color:#4a3f0a}[data-theme=dark] .btn.trim-editor-open-btn:hover:not(:disabled){background:#5c4f0d;border-color:#5c4f0d}.transfer-edit-form{border-top:1px solid var(--border);margin:0}.transfer-edit-form .transfer-detail-grid{padding-top:1rem}.badge.suggested-badge{background:var(--bg-card-alt);color:var(--text-muted);border-radius:.5rem;margin-left:.5rem;padding:.125rem .5rem;font-size:.75em;font-weight:600;display:inline-block}.badge.shared-badge{background:var(--info-box-bg);color:var(--accent);border-radius:.5rem;margin-left:.5rem;padding:.125rem .5rem;font-size:.75em;font-weight:600;display:inline-block}.btn-badge{cursor:pointer;transition:opacity var(--transition-duration-fast);border:none;border-radius:.5rem;padding:.125rem .5rem;font-size:.75em;font-weight:600;text-decoration:none;display:inline-block}.btn-badge-share{background:var(--status-ok-bg);color:var(--status-ok-text)}.btn-badge-share:hover{opacity:.85}.btn-badge-unshare{background:var(--status-error-bg);color:var(--status-error-text)}.btn-badge-unshare:hover{opacity:.85}.btn-badge-request{background:var(--accent);color:#fff}.btn-badge-request:hover{opacity:.9}.btn-badge-unrequest{color:#fff;background:#dc3545}.btn-badge-unrequest:hover{background:#c82333}.btn-link{font-size:inherit;color:var(--accent);cursor:pointer;transition:color var(--transition-duration);background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:var(--accent-hover)}#librariesTable td,#librariesTable th{vertical-align:middle}#librariesTableContainer.libraries-abs .libraries-col-hidden{display:none}.libraries-actions-cell{min-width:0}.libraries-actions-inner{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.libraries-actions-cell .btn-badge+.btn-badge{margin-left:0}.toast-container{z-index:1100;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(360px,100vw - 1.5rem);display:flex;position:fixed;top:.75rem;left:auto;right:.75rem}.toast-container>*{pointer-events:auto}.toast{box-shadow:var(--shadow);cursor:default;border-radius:.5rem;padding:.75rem 1rem;font-size:.95em;animation:.25s ease-out toast-in}.toast.toast--out{animation:.2s ease-in forwards slide-out-right}.toast--success{background:var(--status-ok-bg);color:var(--status-ok-text)}.toast--error{background:var(--status-error-bg);color:var(--status-error-text)}.toast--info{background:var(--info-box-bg);color:var(--text)}.confirm-overlay{z-index:1200;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:.75rem;width:100%;max-width:min(420px,100vw - 2rem);padding:1rem;animation:.2s ease-out scale-in}@media (min-width:640px){.confirm-dialog{padding:1.25rem}}.confirm-title{color:var(--header-title);margin:0 0 .5rem;font-size:1.1em}.confirm-message{color:var(--text);margin:0 0 1.25rem;font-size:.95em;line-height:1.4}.confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.trim-editor-overlay{z-index:1200;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}.trim-editor-dialog{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:.75rem;width:100%;max-width:min(720px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.25rem;animation:.2s ease-out scale-in;overflow-y:auto}.trim-editor-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.trim-editor-title{color:var(--header-title);margin:0;font-size:1.1em}.trim-editor-close{padding:.25rem;font-size:1.5rem;line-height:1}.trim-editor-parts{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.trim-part-card{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.75rem}.trim-part-header{justify-content:space-between;margin-bottom:.5rem;font-size:.9em;display:flex}.trim-part-label{color:var(--header-title);font-weight:600}.trim-part-duration{color:var(--text-muted)}.trim-waveform{min-height:48px;margin-bottom:.5rem}.trim-waveform div::part(cursor){background-color:#00ff1a!important;width:2px!important}.trim-waveform [part~=region-handle-right]{border-right:2px solid red!important}.trim-waveform [part~=region-handle-left]{border-left:2px solid red!important}.trim-snippet-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.85em}.trim-add-start-btn{margin-bottom:.5rem}.trim-start-snippet{margin-bottom:1rem}.trim-controls{flex-direction:row;justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.trim-playback-buttons{flex-direction:row;gap:.25rem;display:flex}.trim-cutoff-group{flex-direction:row;align-items:center;gap:.25rem;font-size:.9em;display:flex}.trim-cutoff-stepper{align-items:stretch;display:flex}.trim-cutoff-seconds{text-align:center;border:1px solid var(--border-input);background:var(--bg-card);width:3.5rem;color:var(--text);-moz-appearance:textfield;border-radius:0;padding:.25rem}.trim-cutoff-seconds::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.trim-cutoff-seconds::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.trim-cutoff-minus-btn,.trim-cutoff-plus-btn,.num-minus-btn,.num-plus-btn{border:1px solid var(--border-input);background:var(--bg-card);color:var(--text);cursor:pointer;border-radius:0;align-items:center;height:auto;padding:0 .4rem;font-size:1rem;line-height:1;display:flex}.trim-cutoff-minus-btn,.num-minus-btn{border-right:none;border-radius:.375rem 0 0 .375rem}.trim-cutoff-plus-btn,.num-plus-btn{border-left:none;border-radius:0 .375rem .375rem 0}.trim-cutoff-minus-btn:hover,.trim-cutoff-plus-btn:hover,.num-minus-btn:hover,.num-plus-btn:hover{background:var(--bg-hover,var(--bg))}.number-input-group{align-items:stretch;display:flex}.number-input-group .settings-input{text-align:center;-moz-appearance:textfield;border-radius:0;max-width:5rem}.number-input-group .settings-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input-group .settings-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.trim-part-info{color:var(--text-muted);font-size:.85em}.trim-editor-actions{flex-direction:column;gap:.75rem;display:flex}.trim-editor-footer-buttons{justify-content:flex-end;gap:.5rem;display:flex}.trim-editor-open-btn{margin-left:.5rem}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.container\!{width:100%!important}@media (min-width:40rem){.container\!{max-width:40rem!important}}@media (min-width:48rem){.container\!{max-width:48rem!important}}@media (min-width:64rem){.container\!{max-width:64rem!important}}@media (min-width:80rem){.container\!{max-width:80rem!important}}@media (min-width:96rem){.container\!{max-width:96rem!important}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.table-row{display:table-row}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.resize\!{resize:both!important}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@keyframes libraries-refresh-indeterminate{0%{transform:translate(-100%)scaleX(.3)}50%{transform:translate(60%)scaleX(.6)}to{transform:translate(250%)scaleX(.3)}}.libraries-refresh-bar{background:var(--accent);border-radius:4px;height:100%;animation:1.4s ease-in-out infinite libraries-refresh-indeterminate}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}:root{--bg-body:#f5f5f5;--bg-card:white;--bg-card-alt:#f8f9fa;--text:#333;--text-muted:#555;--text-muted-2:#666;--border:#e0e0e0;--border-input:#ddd;--accent:#2a7d6e;--accent-hover:#1a5c50;--header-title:#2c3e50;--shadow:0 2px 4px #0000001a;--shadow-lg:0 4px 12px #0000001a;--status-ok-bg:#d4edda;--status-ok-text:#155724;--status-error-bg:#f8d7da;--status-error-text:#721c24;--status-pending-bg:#fff3cd;--status-pending-text:#856404;--status-running-bg:#cfe2ff;--status-running-text:#084298;--info-box-bg:#e8e8e8;--login-box-bg:var(--bg-card);--login-gradient:var(--bg-body);--transition-duration:.2s;--transition-duration-fast:.15s}[data-theme=dark]{--bg-body:#1a1a1a;--bg-card:#2d2d2d;--bg-card-alt:#383838;--text:#e8e8e8;--text-muted:#b0b0b0;--text-muted-2:#a0a0a0;--border:#404040;--border-input:#505050;--accent:#267164;--accent-hover:#1e5a50;--header-title:#e8e8e8;--shadow:0 2px 8px #0000004d;--shadow-lg:0 4px 16px #0006;--status-ok-bg:#1e4620;--status-ok-text:#7dce82;--status-error-bg:#4a1c1c;--status-error-text:#f0a0a0;--status-pending-bg:#4a3f0a;--status-pending-text:#f0e090;--status-running-bg:#1a2a4a;--status-running-text:#90b8f0;--info-box-bg:#323232;--login-box-bg:var(--bg-card);--login-gradient:var(--bg-body)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-footer{text-align:center;margin-top:2rem;padding:.75rem}.app-footer a{opacity:.35;color:inherit;font-size:.7rem;text-decoration:none;transition:opacity .2s}.app-footer a:hover{opacity:.7}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}