*{box-sizing:border-box}body{margin:0;font-family:Microsoft YaHei,sans-serif;font-size:14px}.app-root{height:100vh;display:flex;flex-direction:column}.app-header{background:#1890ff;color:#fff;padding:16px 24px;text-align:center}.app-header h1{margin:0;font-size:20px}.app-main{flex:1;display:flex;overflow:hidden}.left-panel,.center-panel,.right-panel{padding:16px;overflow-y:auto;border-right:1px solid #ddd}.left-panel{width:360px;background:#fafafa}.center-panel{flex:1;background:#fff}.right-panel{width:360px;background:#f5f5f5}.project-list{margin-bottom:16px;border-bottom:1px solid #ddd;padding-bottom:12px}.project-list h3{margin-top:0;font-size:16px}.project-items{max-height:200px;overflow-y:auto}.project-item{display:flex;align-items:center;justify-content:space-between;padding:8px;margin:4px 0;cursor:pointer;border-radius:4px;border:1px solid #e0e0e0;transition:all .2s}.project-item:hover{background:#f5f5f5;border-color:#1890ff}.project-item.active{background:#e6f7ff;border-color:#1890ff;font-weight:700}.project-item-content{flex:1}.project-name{font-size:14px;margin-bottom:4px}.project-meta{font-size:12px;color:#999}.project-delete-btn{width:24px;height:24px;border:none;background:#ff4d4f;color:#fff;border-radius:4px;cursor:pointer;font-size:18px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.project-delete-btn:hover{background:#ff7875}.project-info-form{margin-bottom:16px}.project-info-form h3{margin-top:0;font-size:16px}.form-section{margin-bottom:16px;padding:12px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.form-section h4{margin:0 0 12px;font-size:14px;color:#1890ff;border-bottom:1px solid #e0e0e0;padding-bottom:6px}.form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;border-bottom:1px solid #e0e0e0;padding-bottom:6px}.form-section-header h4{margin:0;border:none;padding:0}.btn-add{padding:4px 12px;background:#52c41a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-add:hover{background:#73d13d}.transferor-item{margin-bottom:12px;padding:12px;background:#fafafa;border-radius:4px;border:1px dashed #d9d9d9}.transferor-item:last-child{margin-bottom:0}.transferor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.transferor-title{font-size:13px;font-weight:500;color:#595959}.btn-remove{width:20px;height:20px;padding:0;background:#ff4d4f;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove:hover{background:#ff7875;transform:scale(1.1)}.project-info-form label{display:block;margin-bottom:8px}.project-info-form label:last-of-type{margin-bottom:0}.project-info-form input,.project-info-form select,.project-info-form textarea{width:100%;padding:6px;margin-top:4px;border:1px solid #ccc;border-radius:4px;font-size:13px}.project-info-form input[type=number],.project-info-form input[type=date]{width:100%}.project-info-form textarea{resize:vertical;min-height:60px}.project-info-form input:focus,.project-info-form select:focus,.project-info-form textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.project-info-form button{margin-top:8px;padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;width:100%;font-size:14px}.project-info-form button:hover{background:#40a9ff}.project-info-form button:active{background:#096dd9}.outline-view h3{margin-top:0;font-size:16px}.outline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.outline-header h3{margin:0}.btn-generate-all{padding:6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #667eea4d}.btn-generate-all:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-generate-all:active{transform:translateY(0)}.generation-progress{margin-bottom:12px;padding:8px;background:#f0f5ff;border-radius:4px}.progress-bar-container{width:100%;height:6px;background:#d9d9d9;border-radius:3px;overflow:hidden;margin-bottom:6px}.progress-bar{height:100%;background:linear-gradient(90deg,#52c41a,#73d13d);transition:width .3s ease}.progress-text{font-size:12px;color:#666;text-align:center}.status-badge{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;margin-right:6px;font-size:12px;border-radius:50%;flex-shrink:0}.status-pending{opacity:.5}.status-generating{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-completed{color:#52c41a;font-weight:700}.status-error{color:#ff4d4f;font-weight:700}.outline-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;margin:2px 0;cursor:pointer;border-radius:4px}.outline-item-content{flex:1}.outline-delete-btn{width:20px;height:20px;border:none;background:#ff4d4f;color:#fff;border-radius:3px;cursor:pointer;font-size:16px;line-height:1;padding:0;display:none;align-items:center;justify-content:center}.outline-item:hover .outline-delete-btn{display:flex}.outline-delete-btn:hover{background:#ff7875}.outline-item:hover{background:#e6f7ff}.outline-item.active{background:#bae7ff;font-weight:700}.outline-number{color:#999}.chapter-editor h2{margin-top:0;font-size:18px;border-bottom:2px solid #1890ff;padding-bottom:8px}.editor-section{margin-bottom:16px}.editor-section h4{margin:8px 0 4px;font-size:14px;color:#555}.editor-section textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:13px;line-height:1.5}.editor-section button{padding:8px 16px;background:#52c41a;color:#fff;border:none;border-radius:4px;cursor:pointer}.editor-section button:disabled{background:#ccc;cursor:not-allowed}.preview-panel h3,.qa-panel h3{margin-top:0;font-size:16px}.preview-panel button,.qa-panel button{padding:8px 16px;margin-right:8px;margin-bottom:8px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer}.qa-panel .btn-revise{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 2px 4px #ff6b6b4d;transition:all .3s ease}.qa-panel .btn-revise:hover{transform:translateY(-1px);box-shadow:0 4px 8px #ff6b6b66}.qa-panel .btn-revise:active{transform:translateY(0)}.preview-panel button:disabled,.qa-panel button:disabled{background:#ccc;cursor:not-allowed}.preview-text,.qa-suggestions{background:#fff;border:1px solid #ccc;padding:12px;font-size:13px;line-height:1.6;white-space:pre-wrap;max-height:600px;overflow-y:auto}
