:root{--primary: oklch(55% .2 250);--primary-hover: oklch(48% .2 250);--primary-glow: oklch(250 .15 250 / .15);--gradient-hero: linear-gradient(135deg, oklch(55% .2 250) 0%, oklch(65% .18 300) 100%);--bg: oklch(100% 0 0);--bg-subtle: oklch(97% 0 0);--bg-card: oklch(100% 0 0);--text: oklch(18% 0 0);--text-subtle: oklch(48% 0 0);--text-muted: oklch(65% 0 0);--border: oklch(88% 0 0);--border-subtle: oklch(93% 0 0);--header-bg: oklch(12% .02 255);--header-text: oklch(95% 0 0);--header-subtle: oklch(70% 0 0);--status-pending-bg: oklch(90% .08 85);--status-pending-text: oklch(45% .1 80);--status-processing-bg: oklch(85% .06 240);--status-processing-text: oklch(35% .08 245);--status-completed-bg: oklch(88% .08 150);--status-completed-text: oklch(35% .1 148);--status-failed-bg: oklch(88% .06 25);--status-failed-text: oklch(38% .1 22);--danger: oklch(50% .18 25);--danger-bg: oklch(96% .02 25);--success-text: oklch(40% .12 145);--success-bg: oklch(95% .04 148);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow: 0 1px 3px oklch(0% 0 0 / .06), 0 8px 24px oklch(0% 0 0 / .06);color-scheme:light}[data-theme=dark]{--bg: oklch(10% 0 0);--bg-subtle: oklch(14% 0 0);--bg-card: oklch(16% 0 0);--text: oklch(95% 0 0);--text-subtle: oklch(72% 0 0);--text-muted: oklch(55% 0 0);--border: oklch(24% 0 0);--border-subtle: oklch(20% 0 0);--header-bg: oklch(8% .02 255);--header-text: oklch(95% 0 0);--header-subtle: oklch(65% 0 0);--danger-bg: oklch(20% .02 25);--success-bg: oklch(20% .04 148);--shadow: 0 1px 3px oklch(0% 0 0 / .3), 0 8px 24px oklch(0% 0 0 / .3);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: oklch(10% 0 0);--bg-subtle: oklch(14% 0 0);--bg-card: oklch(16% 0 0);--text: oklch(95% 0 0);--text-subtle: oklch(72% 0 0);--text-muted: oklch(55% 0 0);--border: oklch(24% 0 0);--border-subtle: oklch(20% 0 0);--header-bg: oklch(8% .02 255);--header-text: oklch(95% 0 0);--header-subtle: oklch(65% 0 0);--danger-bg: oklch(20% .02 25);--success-bg: oklch(20% .04 148);--shadow: 0 1px 3px oklch(0% 0 0 / .3), 0 8px 24px oklch(0% 0 0 / .3)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;transition:background .3s ease,color .3s ease}.app-layout{min-height:100vh}.app-layout.dark{background:var(--bg);color:var(--text)}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--header-bg);color:var(--header-text)}.header-left{display:flex;align-items:center;gap:20px}.header-right{display:flex;align-items:center;gap:10px}.logo{font-size:1.2em;font-weight:700;color:var(--header-text);text-decoration:none}.nav-link{color:var(--header-subtle);text-decoration:none;font-size:.9em}.nav-link:hover{color:var(--header-text)}.balance-display{font-size:.95em}.lang-switcher{background:transparent;color:var(--header-text);border:1px solid oklch(from var(--header-text) l 0 / .3);border-radius:4px;padding:3px 6px;font-size:.85em;cursor:pointer}.theme-app-toggle{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid oklch(from var(--header-text) l 0 / .3);background:transparent;cursor:pointer;font-size:.85em;display:flex;align-items:center;justify-content:center;color:var(--header-text);transition:transform .15s ease}.theme-app-toggle:hover{transform:scale(1.1)}.main-content{max-width:900px;margin:24px auto;padding:0 16px}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--header-bg)}.auth-form{background:var(--bg-card);padding:40px;border-radius:8px;width:100%;max-width:400px}.auth-form h1{text-align:center;margin-bottom:4px;color:var(--text)}.auth-form h2{text-align:center;margin-bottom:8px;font-weight:400;color:var(--text-subtle)}.auth-description{text-align:center;font-size:.9em;color:var(--text-muted);margin-bottom:18px}.auth-form label{display:block;margin-bottom:12px;font-size:.9em;color:var(--text-subtle)}.auth-form input{display:block;width:100%;margin-top:4px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1em;background:var(--bg-card);color:var(--text)}.auth-form input:focus{outline:2px solid var(--primary);outline-offset:1px}.auth-form p{text-align:center;margin-top:16px;font-size:.9em;color:var(--text-subtle)}.auth-form p a{color:var(--primary)}.btn{display:inline-block;padding:8px 16px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9em;text-decoration:none;background:var(--primary);color:#fff;transition:opacity .15s ease,transform .1s ease}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:var(--gradient-hero);width:100%;margin-top:12px;padding:10px;font-size:1em}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-subtle)}.btn-outline:hover{border-color:var(--primary);color:var(--primary);opacity:1}.btn-sm{padding:4px 10px;font-size:.85em}.btn-amount{background:var(--bg-subtle);color:var(--text);border:1px solid var(--border);font-size:1.05em;padding:10px 20px}.btn-amount:hover{background:var(--border)}.alert{padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:12px;font-size:.9em}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid oklch(from var(--danger) l c h / .2)}.alert-success{background:var(--success-bg);color:var(--success-text);border:1px solid oklch(from var(--success-text) l c h / .2)}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:40px 20px;text-align:center;margin:20px 0;background:var(--bg-subtle);cursor:pointer;transition:border-color .2s}.upload-zone:hover{border-color:var(--primary)}.upload-label{cursor:pointer;color:var(--text-subtle);font-size:1.05em}.confirm-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;margin:16px 0}.confirm-modal h3{margin-bottom:12px}.confirm-modal p{margin-bottom:8px}.confirm-actions{display:flex;gap:8px;margin-top:16px}.confirm-actions .btn{flex:1}.target-lang-field{display:block;margin-top:8px}.target-lang-field select,.target-lang-field input{display:block;width:100%;margin-top:4px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1em;background:var(--bg-card);color:var(--text)}.error-text{color:var(--danger);font-size:.9em}.job-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow)}.job-table th,.job-table td{padding:10px 14px;text-align:left;font-size:.9em}.job-table th{background:var(--bg-subtle);font-weight:600;color:var(--text-subtle);border-bottom:1px solid var(--border-subtle)}.job-table td{border-bottom:1px solid var(--border-subtle)}.job-table tr:last-child td{border-bottom:none}.status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.8em}.status-pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.status-processing{background:var(--status-processing-bg);color:var(--status-processing-text)}.status-completed{background:var(--status-completed-bg);color:var(--status-completed-text)}.status-failed{background:var(--status-failed-bg);color:var(--status-failed-text)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:20px 0;font-size:.9em}.topup-page{max-width:600px}.topup-amounts{background:var(--bg-card);border-radius:var(--radius-md);padding:24px;margin:20px 0;box-shadow:var(--shadow)}.amount-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.custom-amount{display:flex;gap:8px;margin-top:12px}.custom-amount input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1em;background:var(--bg-card);color:var(--text)}.positive{color:var(--success-text)}.negative{color:var(--danger)}.admin-page{max-width:700px}.admin-section{background:var(--bg-card);border-radius:var(--radius-md);padding:20px;margin:16px 0;box-shadow:var(--shadow)}.admin-section h3{margin-bottom:12px}.admin-section select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1em;width:100%;background:var(--bg-card);color:var(--text)}.admin-topup-form{display:flex;flex-direction:column;gap:12px}.admin-topup-form label{font-size:.9em;color:var(--text-subtle)}.admin-topup-form input{display:block;width:100%;margin-top:4px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1em;background:var(--bg-card);color:var(--text)}.admin-topup-form .btn{width:auto;align-self:flex-start}.empty-state{text-align:center;color:var(--text-muted);padding:40px 0}.spinner{text-align:center;padding:40px 0;color:var(--text-muted)}.dashboard h2{margin-bottom:4px}.dashboard-description{color:var(--text-muted);font-size:.9em;margin-bottom:16px}.progress-cell{min-width:160px}.progress-bar-track{width:100%;height:8px;background:var(--bg-subtle);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.progress-bar-fill.pending{background:var(--status-pending-text)}.progress-bar-fill.processing{background:var(--primary)}.progress-text{display:block;font-size:.8em;color:var(--text-subtle);margin-top:4px}.progress-eta{color:var(--text-muted)}.captcha-wrap{display:flex;justify-content:center;margin-bottom:12px}.admin-page .job-table{margin-bottom:0}.badge-admin{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--primary-glow);color:var(--primary);font-size:.7em;font-weight:700;vertical-align:middle}.balance-clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.balance-clickable:hover{color:var(--primary)}.balance-edit-inline{display:flex;gap:4px;align-items:center}.balance-edit-input{width:80px;padding:3px 6px;border:1px solid var(--primary);border-radius:var(--radius-sm);font-size:.85em;background:var(--bg-card);color:var(--text)}.cell-muted{font-size:.82em;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-actions{display:flex;gap:4px}.btn-success{background:#00884d;background:oklch(55% .15 155);color:#fff}.btn-success:hover{background:#00703e;background:oklch(48% .15 155)}.btn-warn{background:#a35e16;color:#fff}.btn-warn:hover{background:#8a4b00;background:oklch(48% .12 60)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:oklch(from var(--danger) calc(l - .08) c h)}.confirm-banner{background:var(--status-processing-bg);color:var(--status-processing-text);border:1px solid oklch(from var(--status-processing-text) l c h / .2);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.confirm-banner p{font-size:.9em;margin:0}
