.login-page{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:520px;min-width:320px;padding:44px 40px;display:flex;flex-direction:column;gap:8px}.login-brand-title{margin:0;font-size:30px;font-weight:700;text-align:center;color:var(--text-primary)}.login-brand-subtitle{margin:0;font-size:15px;text-align:center;color:var(--text-secondary)}.login-status{min-height:22px;font-size:14px;text-align:center;margin:8px 0}.login-label{display:block;color:var(--text-secondary);font-size:13px;margin:14px 0 6px}.login-password-row{display:flex;gap:8px}.login-password-row .input-field{flex:1}.login-toggle-password{width:56px;flex-shrink:0;background-color:#f8fafc;color:var(--text-secondary);font-size:13px;font-weight:400}.login-toggle-password:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.login-remember{display:flex;align-items:center;gap:8px;margin:16px 0;color:var(--text-secondary);font-size:14px;cursor:pointer}.login-remember input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.login-submit{width:100%;min-height:48px;font-size:15px;margin-top:8px}.top-nav{height:56px;background-color:#fff;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}.top-nav-logo{font-size:18px;font-weight:700;color:var(--accent)}.top-nav-actions{display:flex;align-items:center;gap:8px}.top-nav-btn{background-color:transparent;border:none;color:var(--text-secondary);font-weight:700;padding:8px 16px;font-size:14px;border-bottom:2px solid transparent;border-radius:0;transition:all .15s ease}.top-nav-btn:hover{color:var(--text-primary)}.top-nav-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.top-nav-divider{width:1px;height:20px;background-color:var(--card-border);margin:0 8px}.top-nav-user{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.top-nav-badge{font-size:12px;color:#fff;background-color:var(--accent);padding:2px 8px;border-radius:12px}.upload-view{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.upload-card{width:100%;max-width:520px;padding:40px;display:flex;flex-direction:column;gap:12px}.upload-placeholder{text-align:center;padding:24px 0;border:2px dashed #cbd5e1;border-radius:12px;background-color:#f8fafc}.upload-tip{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#92400e;line-height:1.5}.upload-tip-icon{font-size:14px;flex-shrink:0;margin-top:1px}.upload-file-list{list-style:none;margin:0;padding:6px;background-color:#fff;border:1px solid var(--card-border);border-radius:10px;min-height:120px;max-height:220px;overflow-y:auto}.upload-file-list li{padding:8px;margin:2px 0;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-file-list li:hover{background-color:#f8fafc}.upload-file-list li.invalid{color:var(--error)}.upload-summary{word-break:break-word}.upload-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.upload-examples{margin-top:4px}.upload-examples-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px;display:block}.upload-examples-list{display:flex;gap:10px;flex-wrap:wrap}.upload-example-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:1px solid var(--card-border);border-radius:8px;background:#fff;cursor:pointer;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease;width:100px}.upload-example-thumb:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.upload-example-thumb img{width:100px;height:72px;object-fit:cover;display:block;border-bottom:1px solid var(--card-border)}.upload-example-label{font-size:11px;color:var(--text-secondary);padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.image-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background-color:#000000bf;display:flex;align-items:center;justify-content:center;padding:40px;cursor:zoom-out;animation:previewFadeIn .2s ease}.image-preview-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #0006;cursor:default}@keyframes previewFadeIn{0%{opacity:0}to{opacity:1}}.task-view{flex:1;display:flex;flex-direction:column;padding:16px;gap:12px;overflow:hidden}.task-stage-card{height:62px;padding:4px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.task-stage-info{display:flex;flex-direction:column;justify-content:center;gap:4px;flex:1;min-width:0}.task-stage-top{display:flex;gap:12px;font-size:13px}.task-batch-status{font-weight:700}.task-progress{display:flex;align-items:center;gap:8px;width:180px;flex-shrink:0}.task-progress-bar{flex:1;height:10px;background-color:#e2e8f0;border-radius:6px;overflow:hidden}.task-progress-fill{height:100%;background-color:var(--accent);border-radius:6px;transition:width .3s ease}.task-progress-percent{font-weight:700;font-size:12px;color:var(--accent);width:32px;text-align:center}.task-main{flex:1;display:flex;gap:12px;min-height:0}.task-left-panel,.task-middle-panel,.task-right-panel{display:flex;flex-direction:column;gap:8px;min-height:0}.task-left-panel{width:260px;flex-shrink:0}.task-middle-panel{flex:1;min-width:0}.task-right-panel{width:260px;flex-shrink:0;gap:12px;overflow-y:auto}.task-filter{display:flex;align-items:center;gap:8px}.task-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.task-list-item{padding:8px;margin:2px 0;border-radius:6px;cursor:pointer;transition:all .15s ease}.task-list-item:hover{background-color:#f8fafc}.task-list-item.selected{background-color:#fff7ed;border:1px solid var(--accent)}.task-list-item.failed{color:var(--error)}.task-list-item.failed.selected{color:var(--text-primary)}.task-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.task-item-error{font-size:12px;color:var(--error);margin-top:4px;word-break:break-word}.task-editor,.task-translation{flex:1;min-height:120px}.task-middle-panel .section-title{margin-top:4px}.task-control-group{padding:14px;display:flex;flex-direction:column;gap:10px}.task-language-row{display:flex;align-items:center;gap:8px}.task-language-row .select-field{flex:1;min-width:0}.history-view{flex:1;padding:24px;overflow:auto}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.history-empty{margin-top:24px}.history-table{width:100%;border-collapse:collapse;margin:16px 0 0}.history-table thead th{text-align:left;padding:12px;font-size:14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.history-table tbody td{padding:12px;font-size:14px;border-bottom:1px solid var(--border-color);vertical-align:middle}.history-row{cursor:pointer;transition:background-color .15s ease}.history-row:hover{background-color:#f8fafc}.history-row:nth-child(2n){background-color:#fafafa}.history-row:nth-child(2n):hover{background-color:#f1f5f9}.history-task-id{font-family:monospace;font-size:14px;color:var(--text-primary)}.btn-text{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s ease}.btn-text:hover{background-color:#f973161a}.user-management{padding:16px}.user-management__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.user-management__title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.user-management__primary-btn,.user-management__secondary-btn,.user-management__action-btn{font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.user-management__primary-btn{padding:8px 16px;color:#fff;background:var(--accent);border:none}.user-management__primary-btn:hover{background:var(--accent-hover)}.user-management__primary-btn--danger{background:var(--error)}.user-management__primary-btn--danger:hover{background:#b91c1c}.user-management__secondary-btn{padding:8px 16px;color:var(--text-primary);background:#fff;border:1px solid var(--card-border)}.user-management__secondary-btn:hover{background:var(--bg-color)}.user-management__message,.user-management__error{margin-bottom:16px;padding:10px 12px;font-size:14px;border-radius:8px}.user-management__message{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.user-management__error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.user-management__form{margin-bottom:20px;padding:16px;background:#fff;border:1px solid var(--card-border);border-radius:12px}.user-management__form h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.user-management__form--disable{border-color:#fecaca;background:#fef2f2}.user-management__form-tip{margin:-6px 0 12px;font-size:13px;color:var(--text-secondary)}.user-management__form-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.user-management__form-row label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-primary);flex:1;min-width:180px}.user-management__form-row input,.user-management__form-row select,.user-management__form-row textarea{padding:8px 10px;font-size:14px;color:var(--text-primary);border:1px solid var(--card-border);border-radius:8px;outline:none;background:#fff;font-family:inherit}.user-management__form-row input,.user-management__form-row select{height:38px}.user-management__form-row textarea{min-height:80px;resize:vertical;line-height:1.5}.user-management__form-row input:focus,.user-management__form-row select:focus,.user-management__form-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f9731626}.user-management__form-actions{display:flex;gap:10px}.user-management__created-card{margin-bottom:20px;padding:16px;background:#fff;border:1px solid var(--card-border);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.user-management__created-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.user-management__created-card-header h3{margin:0;font-size:16px;color:var(--text-primary)}.user-management__created-card-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer}.user-management__created-card-close:hover{background:var(--bg-color);color:var(--text-primary)}.user-management__created-card-tip{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.user-management__credential{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;background:var(--bg-color);border-radius:8px}.user-management__credential-label{flex-shrink:0;width:70px;font-size:13px;color:var(--text-secondary)}.user-management__credential-value{font-family:monospace;font-size:15px;font-weight:500;color:var(--text-primary);word-break:break-all}.user-management__credential-value--password{letter-spacing:.5px}.user-management__created-card-actions{display:flex;gap:10px;margin-top:16px}.user-management__table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--card-border);border-radius:12px}.user-management__table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.user-management__table th,.user-management__table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--card-border)}.user-management__table th{font-weight:600;color:var(--text-primary);background:var(--bg-color)}.user-management__table tbody tr:last-child td{border-bottom:none}.user-management__role,.user-management__status{display:inline-block;padding:2px 8px;font-size:12px;font-weight:500;border-radius:12px}.user-management__role--admin{color:#1e40af;background:#dbeafe}.user-management__role--user,.user-management__status--active{color:#047857;background:#d1fae5}.user-management__status--inactive{color:#b91c1c;background:#fee2e2}.user-management__actions{display:flex;flex-wrap:wrap;gap:8px}.user-management__remark{display:inline-block;max-width:160px;font-size:13px;color:#92400e;background:#fef3c7;padding:4px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.user-management__remark-empty{font-size:13px;color:var(--text-secondary)}.user-management__action-btn{padding:5px 10px;color:var(--accent);background:transparent;border:1px solid var(--card-border)}.user-management__action-btn:hover{background:var(--bg-color)}.user-management__action-btn--danger{color:var(--error);border-color:#fecaca}.user-management__action-btn--danger:hover{background:#fee2e2}.user-management__empty{text-align:center;color:var(--text-secondary);padding:32px}.user-management__loading{padding:16px;text-align:center;color:var(--text-secondary);font-size:14px}.user-management__drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0006;display:flex;justify-content:flex-end}.user-management__drawer{width:480px;max-width:90vw;height:100%;background:#fff;box-shadow:-4px 0 16px #00000014;display:flex;flex-direction:column;animation:drawer-slide-in .25s ease}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.user-management__drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--card-border)}.user-management__drawer-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.user-management__drawer-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer}.user-management__drawer-close:hover{background:var(--bg-color);color:var(--text-primary)}.user-management__drawer-body{flex:1;overflow-y:auto;padding:20px}.user-management__summary-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.user-management__summary-card{padding:14px;background:var(--bg-color);border:1px solid var(--card-border);border-radius:10px}.user-management__summary-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.user-management__summary-value{font-size:14px;font-weight:500;color:var(--text-primary);word-break:break-all}.user-management__activity-filter{margin-bottom:16px}.user-management__activity-filter label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.user-management__activity-filter select{padding:8px 10px;font-size:14px;color:var(--text-primary);border:1px solid var(--card-border);border-radius:8px;outline:none;background:#fff;height:38px;font-family:inherit}.user-management__activity-list{display:flex;flex-direction:column;gap:8px}.user-management__activity-loading,.user-management__activity-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:14px}.user-management__activity-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid var(--card-border);border-radius:8px}.user-management__activity-item:nth-child(2n){background:var(--bg-color)}.user-management__activity-meta{display:flex;align-items:center;gap:8px}.user-management__activity-type{display:inline-block;padding:2px 8px;font-size:12px;font-weight:500;border-radius:12px;color:#1e40af;background:#dbeafe}.user-management__activity-module{font-size:12px;color:var(--text-secondary)}.user-management__activity-time{font-size:12px;color:var(--text-secondary);white-space:nowrap}.user-management__action-btn--info{color:#0369a1;border-color:#bae6fd}.user-management__action-btn--info:hover{background:#e0f2fe}.workbench-page,.workbench-content{flex:1;display:flex;flex-direction:column;overflow:hidden}:root{--bg-color: #f8fafc;--card-bg: #ffffff;--card-border: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--accent: #f97316;--accent-hover: #ea580c;--error: #dc2626;--success: #16a34a;--warning: #d97706}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%}body{font-family:Microsoft YaHei,Segoe UI,PingFang SC,sans-serif;font-size:14px;color:var(--text-primary);background-color:var(--bg-color)}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;outline:none}.app-container{height:100vh;width:100vw;display:flex;flex-direction:column}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:16px}.btn{background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--card-border);border-radius:10px;padding:8px 16px;font-size:14px;transition:all .15s ease}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}.btn:disabled{background-color:#f1f5f9;color:#94a3b8;border-color:#e2e8f0;cursor:not-allowed}.btn-primary{background-color:var(--accent);color:#fff;border:none;font-weight:700;min-height:40px}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);color:#fff}.section-title{font-size:18px;font-weight:700;color:var(--text-primary)}.secondary-text{color:var(--text-secondary);font-size:12px}.input-field{background-color:#fff;border:1px solid var(--card-border);border-radius:10px;padding:12px 14px;color:var(--text-primary);font-size:15px;width:100%}.input-field:focus{border:2px solid var(--accent)}.input-field::placeholder{color:var(--text-secondary)}.select-field{background-color:#fff;border:1px solid var(--card-border);border-radius:8px;padding:6px 10px;color:var(--text-primary);font-size:14px}.select-field:focus{border-color:var(--accent)}.textarea-field{background-color:#fff;border:1px solid var(--card-border);border-radius:10px;padding:10px;color:var(--text-primary);font-size:14px;resize:none;width:100%}.textarea-field:focus{border-color:var(--accent)}.textarea-field:read-only{background-color:#f8fafc}
