:root{--bg: #f7f4f1;--bg-elevated: #ffffff;--accent: #7b1234;--accent-soft: #c68a9b;--accent-light: #fef2f2;--text: #222325;--text-muted: #6b6c70;--border-subtle: #e1d9d2;--radius-lg: 16px;--radius-md: 10px;--shadow-soft: 0 14px 40px rgba(0, 0, 0, .08);--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .04);--error: #dc3545;--warning: #ffc107;--success: #28a745}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;background:radial-gradient(circle at top left,#faf4ee,#f0ebe7);color:var(--text);line-height:1.6}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:20px 32px 12px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.app-title-group{display:flex;flex-direction:column;gap:6px}.app-title{font-size:24px;letter-spacing:.02em;margin:0;color:var(--accent);font-weight:600}.app-subtitle{font-size:14px;color:var(--text-muted);margin:0}.card{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-subtle);border:1px solid var(--border-subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-weight:500;font-size:14px;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;min-height:44px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 4px 12px #1e3a5f33}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn-secondary.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-sm{padding:8px 16px;min-height:36px;font-size:13px}.image-preview{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-elevated)}.image-preview img{width:100%;height:auto;max-height:200px;object-fit:cover;display:block}.video-container{position:relative;background:var(--bg-elevated);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle)}.video-container video{width:100%;height:auto;display:block}.file-upload-wrapper{position:relative;display:inline-block;width:100%}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);cursor:pointer;transition:all .2s ease;text-align:center}.file-upload-label:hover{border-color:var(--accent);background:var(--bg-subtle)}.file-upload-label svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px}.file-upload-label span:first-of-type{color:var(--text-primary);font-weight:500;margin-bottom:4px}.file-input.error+.file-upload-label{border-color:var(--error);background:rgba(239,68,68,.05)}.voice-preview-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.voice-preview-panel{margin-top:12px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg)}.voice-preview-panel audio{width:100%;margin-bottom:6px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--text)}.form-label .required{color:var(--error)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:16px;font-family:inherit;background:var(--bg-elevated);color:var(--text);transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1e3a5f1a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--error);background:rgba(220,53,69,.05)}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--error);font-size:12px;margin-top:4px;display:flex;align-items:center;gap:4px}.form-error:before{content:"⚠"}.container{max-width:1200px;margin:0 auto;padding:0 32px}.grid{display:grid;gap:32px}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:1fr 1fr}.grid-cols-3{grid-template-columns:1fr 1fr 1fr}@media (max-width: 768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.app-header{padding:16px 20px 8px;flex-direction:column;align-items:flex-start}.container{padding:0 20px}.card{padding:20px}}.progress{width:100%;height:8px;background:var(--border-subtle);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-processing{background:rgba(255,193,7,.1);color:var(--warning);border:1px solid rgba(255,193,7,.3)}.status-completed{background:rgba(40,167,69,.1);color:var(--success);border:1px solid rgba(40,167,69,.3)}.status-failed{background:rgba(220,53,69,.1);color:var(--error);border:1px solid rgba(220,53,69,.3)}.video-preview{background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:var(--shadow-subtle)}.video-preview video{width:100%;height:auto;display:block}.video-aspect-16-9{aspect-ratio:16/9}.video-aspect-9-16{aspect-ratio:9/16;max-height:640px}.video-aspect-1-1{aspect-ratio:1/1;max-height:640px}.text-center{text-align:center}.text-sm{font-size:14px}.text-lg{font-size:18px}.text-xl{font-size:20px}.font-semibold{font-weight:600}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.w-full{width:100%}.h-full{height:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border-subtle);border-top:2px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;color:var(--text)}.empty-state p{margin:0}.tabs{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:var(--radius-md)}.tab{flex:1;padding:8px 16px;border:none;background:transparent;color:var(--text-muted);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px}.tab:hover{color:var(--text)}.tab.active{background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow-subtle)}.voice-source-toggle,.filter-mode-toggle{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:var(--radius-md)}.voice-source-toggle button,.filter-mode-toggle button{flex:1;padding:8px 16px;border:none;background:transparent;color:var(--text-muted);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px}.voice-source-toggle button:hover,.filter-mode-toggle button:hover{color:var(--text)}.voice-source-toggle button.active,.filter-mode-toggle button.active{background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow-subtle)}.pill-row{display:flex;flex-wrap:wrap;gap:10px}.pill{padding:10px 18px;border-radius:30px;background:var(--bg);border:1px solid var(--border-subtle);color:var(--text-muted);font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.pill:hover{background:var(--bg-elevated);border-color:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.pill.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 10px #7b123433}.pill:disabled{opacity:.6;cursor:not-allowed;transform:none}
