:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2128;--bg-elevated: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--text-on-accent: #ffffff;--accent-primary: #58a6ff;--accent-secondary: #764ba2;--accent-gradient: linear-gradient(135deg, #667eea, #764ba2);--accent-gradient-hover: linear-gradient(135deg, #7b93ff, #8b5fb8);--color-success: #3fb950;--color-warning: #d29922;--color-error: #f85149;--color-info: #58a6ff;--border-default: #30363d;--border-muted: #21262d;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(88, 166, 255, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}.header-brand{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.brand-icon{color:var(--accent-primary);filter:drop-shadow(0 0 6px rgba(88,166,255,.4))}.brand-text{font-size:1.2rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{font-size:.8rem;color:var(--text-secondary);font-weight:400}.page{display:none;flex:1}.page.active{display:flex}.page-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}#page-my-jobs .page-content,#page-admin .page-content,#page-profile .page-content{align-items:flex-start}.panel{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md)}.panel-title{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.panel-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:20px}.upload-panel{width:100%;max-width:820px}.drop-zone{border:2px dashed var(--border-default);border-radius:var(--radius-md);padding:40px 24px;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-tertiary);position:relative;max-width:520px;margin:0 auto}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent-primary);background:#58a6ff0d;box-shadow:var(--shadow-glow)}.drop-zone.drag-over{transform:scale(1.01)}.drop-icon{color:var(--text-tertiary);margin-bottom:12px}.drop-zone:hover .drop-icon{color:var(--accent-primary)}.drop-text{font-size:.95rem;font-weight:500;color:var(--text-primary);margin-bottom:4px}.drop-subtext{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.drop-formats{font-size:.75rem;color:var(--text-tertiary)}.preview-container{padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-default);margin-top:16px}.preview-container.hidden{display:none}.upload-preview-layout{display:flex;gap:16px}.upload-preview-left{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;gap:8px}.upload-preview-right{flex:1 1 45%;min-width:0;display:flex;flex-direction:column;gap:0}.upload-preview-right .schedule-options,.upload-preview-right .upload-crystal-settings{margin:0 0 .5rem}.preview-image{width:100%;max-height:320px;object-fit:contain;border-radius:var(--radius-sm)}.preview-info{display:flex;align-items:center;justify-content:space-between;gap:8px}.preview-details{display:flex;flex-direction:column;min-width:0}.preview-name{font-size:.85rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-size{font-size:.75rem;color:var(--text-secondary)}.preview-type-label{font-size:.7rem;color:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent-gradient);color:var(--text-on-accent);box-shadow:0 2px 10px #667eea4d}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);box-shadow:0 4px 16px #667eea73;transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-primary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.btn-large{padding:14px 28px;font-size:.95rem;margin-top:20px;width:100%}.btn-full{width:100%}#page-processing .page-content{flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.processing-panel{flex:1 1 380px;min-width:280px;max-width:640px}#processing-queue{flex:0 1 320px;min-width:220px;width:auto;margin-top:0;align-self:flex-start}.queue-info{margin-bottom:16px}.queue-info.hidden{display:none}.processing-retention-warning{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid rgba(210,153,34,.45);background:#d299221a;color:var(--color-warning);font-size:.82rem}.processing-retention-warning.hidden{display:none}.queue-badge{font-size:.8rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-default)}.queue-badge strong{color:var(--accent-primary)}.queue-panel{width:100%;max-width:560px;margin-top:20px}.queue-panel.hidden{display:none}.queue-panel-title{display:flex;align-items:center;gap:8px;font-size:.95rem;margin-bottom:12px}.queue-list{list-style:none;display:flex;flex-direction:column;gap:8px}.queue-entry{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-muted);transition:border-color .3s ease,background .3s ease}.queue-entry.is-own{border-color:var(--accent-primary);background:#58a6ff0f}.queue-entry-thumb{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--bg-elevated);filter:blur(3px)}.queue-entry.is-own .queue-entry-thumb{filter:none}.queue-entry-body{flex:1;min-width:0}.queue-entry-label{font-size:.8rem;color:var(--text-secondary)}.queue-entry.is-own .queue-entry-label{color:var(--accent-primary);font-weight:500}.queue-entry-bar{height:4px;margin-top:6px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.queue-entry-fill{height:100%;border-radius:2px;background:var(--accent-gradient);transition:width .4s ease}.queue-entry-pct{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.queue-entry.is-own .queue-entry-pct{color:var(--accent-primary)}.task-list{display:flex;flex-direction:column;gap:6px}.task-item{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 8px;padding:5px 10px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-muted);transition:border-color .3s ease}.task-item[data-active=true]{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.task-item[data-done=true]{border-color:var(--color-success);opacity:.85}.task-item[data-error=true]{border-color:var(--color-error)}.task-icon{grid-row:1;grid-column:1;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.task-icon svg{width:16px;height:16px}.task-item[data-active=true] .task-icon{color:var(--accent-primary)}.task-item[data-done=true] .task-icon{color:var(--color-success)}.task-header{grid-row:1;grid-column:2;display:flex;align-items:center;gap:6px}.task-name{font-size:.75rem;font-weight:500;white-space:nowrap}.task-status{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);white-space:nowrap}.task-status[data-status=processing]{color:var(--accent-primary)}.task-status[data-status=complete]{color:var(--color-success)}.task-status[data-status=error]{color:var(--color-error)}.task-progress{grid-row:1;grid-column:3;display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-gradient);border-radius:3px;transition:width .3s ease}.task-item[data-done=true] .progress-fill{background:var(--color-success)}.progress-text{font-size:.65rem;color:var(--text-secondary);min-width:28px;text-align:right}.task-message{grid-row:2;grid-column:1 / -1;font-size:.65rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding-left:28px}.task-message:empty{display:none}.processing-error{margin-top:16px;padding:12px 16px;background:#f851491a;border:1px solid var(--color-error);border-radius:var(--radius-md)}.processing-error.hidden{display:none}.error-text{font-size:.85rem;color:var(--color-error)}.viewer-layout{display:flex;flex:1;height:calc(100vh - 57px)}body.is-viewer-page{overflow:hidden}body.is-viewer-page #app{height:100vh;min-height:0;overflow:hidden}body.is-viewer-page #page-container{display:flex;flex:1;min-height:0}body.is-viewer-page #page-viewer.active{flex:1;min-height:0}body.is-viewer-page .viewer-layout{height:auto;min-height:0}body.is-viewer-page .app-footer{display:none}.viewer-viewport{flex:1;position:relative;background:var(--bg-primary)}#viewer-canvas{width:100%;height:100%;display:block}.viewer-overlay{position:absolute;top:12px;left:12px;display:flex;gap:8px}.viewer-download-progress{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;background:#0d111757}.viewer-download-card{width:min(360px,100%);padding:16px 18px;background:#161b22f0;border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.viewer-download-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-primary);font-size:.86rem;font-weight:600}.viewer-download-track{height:6px;margin-top:10px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.viewer-download-fill{height:100%;background:var(--accent-gradient);border-radius:3px;transition:width .2s ease}.viewer-download-fill.is-indeterminate{background-size:200% 100%;animation:download-progress-pulse 1.1s ease-in-out infinite}@keyframes download-progress-pulse{0%{background-position:0% 50%}to{background-position:200% 50%}}.viewer-download-detail{margin-top:8px;color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums}.viewer-badge{font-size:.75rem;font-weight:500;padding:4px 10px;background:#0d1117cc;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewer-sidebar{width:420px;background:var(--bg-secondary);border-left:1px solid var(--border-default);overflow-y:auto;min-height:0;padding:16px;display:flex;flex-direction:column;gap:12px}.sidebar-panel{padding:18px}.sidebar-panel .panel-title{font-size:.9rem;margin-bottom:14px}.config-section{margin-bottom:14px}.config-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.config-select,.config-input{width:100%;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:.8rem;transition:border-color .2s}.config-select:focus,.config-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #58a6ff26}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.config-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}.config-field label{display:block;font-size:.7rem;color:var(--text-tertiary);margin-bottom:3px;white-space:nowrap}.config-field label[title],.control-label-row label[title]{cursor:help}.config-field-wide{grid-column:1 / -1}.control-list{display:grid;gap:10px;margin-bottom:12px}.control-item{border-bottom:1px solid var(--border-muted);padding-bottom:9px}.control-item:last-child{border-bottom:0;padding-bottom:0}.control-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.control-label-row label{color:var(--text-tertiary);font-size:.72rem;white-space:normal}.control-label-row .range-value{margin-top:0;min-width:3rem;text-align:right}.range-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px}.range-row input[type=range]{width:100%}.config-warning{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-warning);padding:8px 10px;background:#d299221a;border-radius:var(--radius-sm);margin-bottom:12px}.config-range{width:100%;cursor:pointer}.range-value{display:block;font-size:.7rem;color:var(--text-secondary);text-align:center;margin-top:2px}.config-field .config-range+.range-value{min-width:2.5em}.config-warning.hidden{display:none}.config-checkbox{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.config-checkbox input[type=checkbox]{accent-color:var(--accent-primary)}.section-title{display:flex;align-items:center;gap:6px;margin-top:.75rem!important}.sidebar-panel>.section-title:first-child{margin-top:0!important}.btn-help{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--border-default);border-radius:50%;background:var(--bg-tertiary);color:var(--text-tertiary);font-size:.65rem;font-weight:700;cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.btn-help:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.config-actions{display:flex;gap:8px;margin-top:.75rem}.config-actions .btn{flex:1}.admin-settings-section{border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:.75rem;background:var(--bg-secondary)}.admin-settings-section h4{color:var(--text-primary);font-size:.82rem;font-weight:600;margin-bottom:.65rem}.admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.admin-default-checkbox{display:flex;align-items:center;gap:.5rem;min-height:34px;color:var(--text-secondary);font-size:.8rem}.admin-default-checkbox input[type=checkbox]{accent-color:var(--accent-primary)}.config-row-2{grid-template-columns:1fr 1fr}.config-row-1{grid-template-columns:1fr}.help-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:900;display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease}.help-modal{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px 28px;max-width:480px;width:90vw;max-height:70vh;overflow-y:auto;animation:slide-up .2s ease}.help-modal h3{font-size:1rem;margin-bottom:12px;color:var(--text-primary)}.help-modal p{font-size:.85rem;line-height:1.6;color:var(--text-secondary);margin-bottom:8px}.help-modal .btn-close-help{margin-top:12px;width:100%}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.nudge-grid{display:flex;flex-direction:column;gap:4px}.nudge-axis{display:flex;align-items:center;gap:6px}.nudge-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);width:14px;text-align:center}.nudge-val{font-size:.75rem;color:var(--text-secondary);min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.btn-nudge{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:var(--radius-sm);width:28px;height:28px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.btn-nudge:hover{background:var(--bg-subtle);color:var(--color-accent)}.reprocess-progress{margin-top:.5rem;display:flex;align-items:center;gap:.6rem}.reprocess-progress-track{flex:1;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.reprocess-progress-fill{height:100%;background:var(--accent-gradient);border-radius:3px;transition:width .3s ease}.reprocess-progress-text{font-size:.75rem;color:var(--text-secondary);min-width:32px;text-align:right}.reprocess-hint{font-size:.75rem;color:var(--text-tertiary);margin-top:.4rem;line-height:1.4}.preview-mode-hint{font-size:.8rem;color:var(--color-info);background:#58a6ff14;border:1px solid rgba(88,166,255,.2);border-radius:var(--radius-sm);padding:.5rem .65rem;margin-bottom:.5rem;line-height:1.4}.preview-mode-hint strong{color:var(--text-primary)}.upload-crystal-settings{margin:.75rem 0;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.upload-crystal-settings h4{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.upload-crystal-settings .config-field{margin-bottom:.5rem}.upload-crystal-settings .config-field label{display:block;font-size:.78rem;color:var(--text-secondary);margin-bottom:.2rem}.upload-crystal-settings select,.upload-crystal-settings input{width:100%;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:.35rem .5rem;font-size:.85rem}.upload-crystal-settings select:focus,.upload-crystal-settings input:focus{outline:none;border-color:var(--accent-primary)}#upload-custom-dims{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin-top:.4rem}.upload-advanced-toggle{font-size:.78rem;color:var(--text-secondary);cursor:pointer;margin-top:.5rem;-webkit-user-select:none;user-select:none}.upload-advanced-toggle:hover{color:var(--text-primary)}.upload-advanced-body{margin-top:.4rem}.gamma-label{font-variant-numeric:tabular-nums}.depth-curve-wrap{border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;line-height:0}.depth-curve-wrap canvas{width:100%;height:auto;display:block;cursor:grab}.depth-curve-wrap canvas:active{cursor:grabbing}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:.85rem;font-weight:600;color:var(--text-primary)}.export-buttons{display:flex;flex-direction:column;gap:8px}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column-reverse;gap:8px;z-index:1000}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.85rem;color:var(--text-primary);animation:toast-in .3s ease;max-width:360px}.toast.toast-success{border-left:3px solid var(--color-success)}.toast.toast-error{border-left:3px solid var(--color-error)}.toast.toast-info{border-left:3px solid var(--color-info)}.toast-exit{animation:toast-out .3s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.hidden{display:none!important}@media(max-width:768px){.upload-panel{max-width:520px}.upload-preview-layout,.viewer-layout{flex-direction:column}.viewer-sidebar{width:100%;border-left:none;border-top:1px solid var(--border-default);max-height:50vh}.viewer-viewport{min-height:40vh}.config-row{grid-template-columns:1fr 1fr}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-header{display:flex;align-items:center;flex-wrap:wrap}.header-auth{margin-left:auto;display:flex;align-items:center;gap:.5rem}.auth-user{color:var(--text-secondary);font-size:.82rem}.auth-user-link{background:none;border:none;color:var(--text-secondary);font-size:.82rem;font-family:var(--font-family);cursor:pointer;padding:.2rem .4rem;border-radius:var(--radius-sm);transition:color .15s,background .15s}.auth-user-link:hover{color:var(--accent-primary);background:#58a6ff14}.auth-usage{font-size:.78rem;padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary)}.auth-usage.usage-low{color:var(--color-warning)}.auth-usage.usage-zero{color:var(--color-error)}.btn-sm{font-size:.8rem;padding:4px 10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center}.confirm-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:1.5rem;width:360px;max-width:92vw}.confirm-message{font-size:.95rem;color:var(--text-primary);margin:0 0 1.25rem;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.auth-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:2rem;width:360px;max-width:92vw}.auth-modal h2{margin:0 0 1.2rem;font-size:1.2rem;color:var(--text-primary)}.form-field{margin-bottom:1rem}.form-field label{display:block;font-size:.82rem;color:var(--text-secondary);margin-bottom:.3rem}.form-hint{font-weight:400;color:var(--text-tertiary)}.form-error{color:var(--color-error);font-size:.82rem;margin:.5rem 0}.form-error.hidden{display:none}.auth-social-separator{margin:.85rem 0;text-align:center;position:relative;color:var(--text-tertiary);font-size:.75rem}.auth-social-separator span{background:var(--bg-secondary);padding:0 .5rem;position:relative;z-index:1}.auth-social-separator:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--border-default)}.google-signin-slot{display:flex;justify-content:center;min-height:40px}.google-signin-slot.hidden{display:none}.modal-switch{text-align:center;font-size:.82rem;color:var(--text-secondary);margin-top:1rem}.modal-switch a{color:var(--accent-primary);text-decoration:none}.modal-switch a:hover{text-decoration:underline}.schedule-options{margin:.75rem 0;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.schedule-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.schedule-toggle input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-accent, #667eea)}.schedule-picker{margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem}.schedule-label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.schedule-fields{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.schedule-date-input{max-width:170px}.schedule-time-group{display:flex;align-items:center;gap:.25rem}.schedule-time-select{width:64px;text-align:center}.schedule-time-sep{font-weight:600;color:var(--text-secondary);font-size:1.1rem}.job-card-unseen{border-color:var(--color-accent, #667eea)!important;background:#667eea0f}.job-unseen-dot{position:absolute;top:8px;left:8px;width:10px;height:10px;background:var(--color-accent, #667eea);border-radius:50%;z-index:1}.job-scheduled-badge{position:absolute;top:8px;left:8px;background:#667eead9;color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;text-transform:uppercase;z-index:1}.myjobs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.myjobs-empty{color:var(--text-secondary);font-size:.9rem;text-align:center;padding:3rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.myjobs-panel{width:100%;max-width:1100px;margin:0 auto;padding:2rem 3rem}.myjobs-counter{font-size:.82rem;font-weight:500;color:var(--text-secondary);margin-left:.5rem}.my-jobs-list{display:flex;flex-direction:column;gap:.5rem}.myjobs-verify-reminder{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid rgba(210,153,34,.45);background:#d299221a;color:var(--color-warning);font-size:.85rem}.myjobs-verify-reminder.hidden{display:none}.myjobs-view-toolbar{display:flex;gap:.5rem;margin-bottom:.9rem}.myjobs-view-toolbar.hidden{display:none}.myjobs-view-toolbar .btn.is-active{border-color:var(--accent-primary);color:var(--accent-primary)}.myjobs-queue-grid{display:flex;flex-direction:column;gap:.6rem}.myjobs-queue-row{display:grid;grid-template-columns:1.4fr auto auto auto;gap:.8rem;align-items:center;padding:.7rem .9rem;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.82rem}.queue-job-name{color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-job-status,.queue-job-pos,.queue-job-eta{color:var(--text-secondary);white-space:nowrap}.reschedule-modal{width:min(90vw,380px);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:2rem}.reschedule-fields{display:flex;gap:1rem;align-items:flex-end}.reschedule-fields .form-field{flex:1}.reschedule-actions{display:flex;gap:.5rem;margin-top:1.25rem}.myjobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem;padding:.5rem 0}.job-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:.75rem 1rem}.job-card-preview{display:flex;flex-direction:column;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease}.job-card-preview:hover{border-color:var(--text-secondary);box-shadow:0 4px 12px #0000004d}.job-card-image{position:relative;width:100%;aspect-ratio:4 / 3;background:var(--bg-secondary);overflow:hidden}.job-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.job-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));color:var(--text-tertiary);font-size:.85rem}.job-status-badge{position:absolute;top:8px;right:8px;background:#0009;color:#fff;padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;text-transform:uppercase}.job-card-content{display:flex;flex-direction:column;gap:.8rem;padding:1rem;flex:1}.job-card-header{display:flex;flex-direction:column;gap:.3rem}.job-card-title{font-size:.95rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.job-card-meta{font-size:.75rem;color:var(--text-tertiary)}.job-expiry{font-size:.72rem;color:var(--text-tertiary)}.job-expiry-urgent{color:var(--color-error);font-weight:600}.job-card-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.job-card-buttons .btn{flex:1;min-width:70px;padding:.35rem .5rem;font-size:.75rem}.job-card-info{display:flex;flex-direction:column;gap:.15rem}.job-card-name{font-size:.88rem;color:var(--text-primary)}.job-card-actions{display:flex;gap:.4rem}.verify-banner{position:fixed;top:0;left:0;right:0;z-index:400;background:linear-gradient(90deg,#764ba2,#667eea);color:#fff;font-size:.84rem;padding:.55rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;text-align:center}.verify-banner button{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:var(--radius-sm);padding:.2rem .65rem;font-size:.8rem;cursor:pointer;transition:background .15s}.verify-banner button:hover{background:#ffffff59}.verify-banner-close{position:absolute;right:.75rem;background:transparent!important;border:none!important;font-size:1.1rem;line-height:1;opacity:.75}.verify-banner-close:hover{opacity:1}.cookie-banner{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:500;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1rem 1.25rem;max-width:520px;width:calc(100% - 2rem);display:flex;flex-direction:column;gap:.75rem;animation:slideUpFade .25s ease}.cookie-banner p{font-size:.83rem;color:var(--text-secondary);line-height:1.5}.cookie-banner p a{color:var(--accent-primary);text-decoration:none}.cookie-banner p a:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.cookie-banner-exit{opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.feedback-trigger{position:fixed;bottom:1.5rem;right:1.5rem;z-index:300;background:var(--accent-gradient);color:#fff;border:none;border-radius:2rem;padding:.6rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;box-shadow:var(--shadow-md);transition:opacity .15s,transform .15s}.feedback-trigger:hover{transform:translateY(-2px);opacity:.9}.feedback-modal{width:min(90vw,680px)}.feedback-modal-body{display:flex;flex-direction:column;gap:.75rem}.feedback-char-counter{font-size:.75rem;color:var(--text-tertiary);text-align:right}.feedback-char-counter.over{color:var(--color-error)}.admin-panel{width:100%;max-width:1100px;margin:0 auto;padding:2rem 3rem}.admin-panel h1{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary)}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-default);margin-bottom:1.5rem}.admin-tab{background:transparent;border:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:.6rem 1.1rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.admin-tab-content{min-height:80px}.admin-tab-content.active{display:block}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.admin-stat-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:1rem;text-align:center}.admin-stat-card .stat-value{font-size:1.8rem;font-weight:700;color:var(--accent-primary);line-height:1}.admin-stat-card .stat-label{font-size:.75rem;color:var(--text-secondary);margin-top:.3rem}.admin-chart-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:1rem 1.25rem}@media(max-width:700px){.admin-charts{grid-template-columns:1fr!important}}.disk-bar-wrap{background:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden;margin-top:.4rem}.disk-bar-fill{height:100%;background:var(--accent-primary);border-radius:4px;transition:width .4s ease}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-md)}.admin-table{width:100%;border-collapse:collapse;font-size:.83rem}.admin-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;padding:.65rem .85rem;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-default)}.admin-table td{padding:.6rem .85rem;border-bottom:1px solid var(--border-muted);vertical-align:middle;color:var(--text-primary)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-elevated)}.admin-table input[type=number],.admin-table input[type=text]{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:.25rem .4rem;font-size:.8rem;width:70px}.admin-table input[type=number]:focus,.admin-table input[type=text]:focus{outline:none;border-color:var(--accent-primary)}.admin-table .notes-input{width:140px}.feedback-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1rem}.feedback-cards{display:flex;flex-direction:column;gap:.9rem}.feedback-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:1rem 1.1rem}.feedback-card.feedback-reviewed{opacity:.55;border-color:var(--border-muted)}.feedback-meta{font-size:.75rem;color:var(--text-tertiary);margin-bottom:.5rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.feedback-meta label{display:flex;align-items:center;gap:.3rem;cursor:pointer;color:var(--text-secondary)}.feedback-message{font-size:.87rem;color:var(--text-primary);white-space:pre-wrap;line-height:1.55}.feedback-image-link{display:inline-block;margin-top:.5rem;font-size:.8rem;color:var(--accent-primary);text-decoration:none}.feedback-image-link:hover{text-decoration:underline}.admin-settings-form{display:flex;flex-direction:column;gap:1rem}.admin-settings-form .form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-settings-form label{font-size:.87rem;color:var(--text-secondary)}.admin-settings-form input[type=number]{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:.35rem .55rem;font-size:.87rem;width:90px;text-align:right}.admin-settings-form input[type=number]:focus{outline:none;border-color:var(--accent-primary)}.profile-panel{width:100%;max-width:1100px;margin:0 auto;padding:2rem 3rem;display:flex;flex-direction:column;gap:0}.profile-section{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:1.25rem 1.35rem}.profile-section h2{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.profile-section .form-group{margin-bottom:.85rem}.danger-zone{border-color:#f8514966}.danger-zone h2{color:var(--color-error)}.profile-usage-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;margin-bottom:1rem}.profile-stat{display:flex;flex-direction:column;gap:.3rem}.profile-stat-label{font-size:.82rem;color:var(--text-secondary)}.profile-stat-value{font-size:.78rem;color:var(--text-tertiary)}.profile-bar-track{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.profile-bar-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .4s ease}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;margin-top:1.25rem}.profile-col{display:flex;flex-direction:column}@media(max-width:700px){.profile-grid{grid-template-columns:1fr;gap:1.5rem}.profile-usage-section{grid-template-columns:1fr}}.legal-panel{max-width:760px;margin:0 auto;padding:2rem 1.5rem}.legal-panel h1{font-size:1.5rem;font-weight:700;margin-bottom:1.25rem}.legal-lang-switch{display:flex;gap:.5rem;margin-bottom:1.25rem}.legal-lang-switch button{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);padding:.3rem .75rem;font-size:.82rem;cursor:pointer;transition:color .15s,border-color .15s}.legal-lang-switch button.active,.legal-lang-switch button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.legal-content{display:none;font-size:.88rem;color:var(--text-secondary);line-height:1.7}.legal-content.active{display:block}.legal-content h2{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:1.25rem 0 .4rem}.legal-content h3{font-size:.92rem;font-weight:600;color:var(--text-primary);margin:.9rem 0 .3rem}.legal-content p,.legal-content ul{margin-bottom:.6rem}.legal-content ul{padding-left:1.25rem}.legal-content a{color:var(--accent-primary);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-back-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;padding:0;margin-bottom:1rem;transition:color .15s}.legal-back-btn:hover{color:var(--text-primary)}.app-footer{text-align:center;padding:1rem 1rem .75rem;font-size:.78rem;color:var(--text-tertiary);border-top:1px solid var(--border-muted);margin-top:auto}.app-footer #donation-tracker{max-width:720px;margin:0 auto .75rem}.footer-links{display:flex;justify-content:center;gap:.4rem}.footer-link{color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:color .15s}.footer-link:hover{color:var(--accent-primary)}.footer-sep{margin:0 .4rem;color:var(--border-default)}@media(max-width:600px){.admin-panel,.profile-panel,.legal-panel{padding:1.25rem 1rem}.admin-stats-grid{grid-template-columns:repeat(2,1fr)!important}.feedback-grid{grid-template-columns:1fr}.cookie-banner{bottom:.75rem}.feedback-trigger{bottom:1rem;right:1rem;padding:.5rem .75rem;font-size:.78rem}}
