body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#ecf0f1;color:#34495e}a{text-decoration:none;color:inherit}button{cursor:pointer}input,textarea,select{font-family:inherit}.popup-btn{display:inline-block;padding:5px 14px;margin-right:6px;border:1px solid #409eff;background-color:#fff;color:#409eff;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.popup-btn:hover{background-color:#409eff;color:#fff}.popup-btn-danger{border-color:#e74c3c;color:#e74c3c}.popup-btn-danger:hover{background-color:#e74c3c;color:#fff}.sidebar[data-v-c03fb960]{width:220px;height:100vh;background-color:#2c3e50;color:#fff;position:fixed;left:0;top:0;display:flex;flex-direction:column;z-index:100}.sidebar-header[data-v-c03fb960]{padding:20px;border-bottom:1px solid #34495e;text-align:center}.sidebar-header h2[data-v-c03fb960]{margin:0;font-size:16px;color:#fff}.sidebar-nav[data-v-c03fb960]{flex:1;padding:10px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#bbbbbb transparent}.sidebar-nav[data-v-c03fb960]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-c03fb960]::-webkit-scrollbar-track{background:transparent}.sidebar-nav[data-v-c03fb960]::-webkit-scrollbar-thumb{background-color:#bbb;border-radius:3px}.sidebar-nav[data-v-c03fb960]::-webkit-scrollbar-thumb:hover{background-color:#888}.menu-item[data-v-c03fb960]{display:flex;align-items:center;padding:12px 15px;margin-bottom:5px;border-radius:4px;color:#bdc3c7;text-decoration:none;transition:all .3s;cursor:pointer}.menu-item[data-v-c03fb960]:hover{background-color:#34495e;color:#fff}.menu-item.active[data-v-c03fb960]{background-color:#3498db;color:#fff}.menu-item-expandable[data-v-c03fb960]{position:relative}.menu-item-expandable[data-v-c03fb960]:hover{background-color:#34495e}.menu-icon[data-v-c03fb960]{margin-right:10px;font-size:16px;width:20px;text-align:center}.menu-text[data-v-c03fb960]{font-size:14px;flex:1}.menu-arrow[data-v-c03fb960]{font-size:10px;color:#bdc3c7;transition:transform .2s}.menu-arrow.expanded[data-v-c03fb960]{transform:rotate(180deg)}.menu-item-group[data-v-c03fb960]{margin-bottom:5px}.sub-menu[data-v-c03fb960]{border-radius:4px;overflow:hidden}.menu-item-level-2[data-v-c03fb960]{padding-left:20px;margin-bottom:0;border-radius:0}.menu-item-level-2[data-v-c03fb960]:hover{background-color:#2c3e50}.menu-item-level-2 .menu-icon[data-v-c03fb960]{font-size:14px}.menu-item-level-2 .menu-text[data-v-c03fb960]{font-size:13px}.menu-item-level-3[data-v-c03fb960]{padding-left:30px;margin-bottom:0;border-radius:0}.menu-item-level-3[data-v-c03fb960]:hover{background-color:#2c3e50}.menu-item-level-3 .menu-icon[data-v-c03fb960]{font-size:12px}.menu-item-level-3 .menu-text[data-v-c03fb960]{font-size:13px}.header[data-v-4fecc3fe]{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:60px;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.header-left h1[data-v-4fecc3fe]{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.header-right[data-v-4fecc3fe]{display:flex;align-items:center;gap:20px}.user-menu[data-v-4fecc3fe]{position:relative}.user-info[data-v-4fecc3fe]{display:flex;flex-direction:column;align-items:flex-end;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.user-info[data-v-4fecc3fe]:hover{cursor:pointer}.user-role[data-v-4fecc3fe]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#7f8c8d}.user-arrow[data-v-4fecc3fe]{display:inline-block;font-size:10px;color:#7f8c8d;transition:transform .2s}.user-arrow.open[data-v-4fecc3fe]{transform:rotate(180deg)}.user-dropdown[data-v-4fecc3fe]{position:absolute;top:calc(100% + 6px);right:0;min-width:120px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px 0;z-index:1000}.menu-fade-enter-active[data-v-4fecc3fe],.menu-fade-leave-active[data-v-4fecc3fe]{transition:opacity .15s,transform .15s}.menu-fade-enter-from[data-v-4fecc3fe],.menu-fade-leave-to[data-v-4fecc3fe]{opacity:0;transform:translateY(-4px)}.dropdown-item[data-v-4fecc3fe]{display:block;padding:8px 16px;font-size:14px;color:#2c3e50;text-decoration:none;cursor:pointer;transition:background-color .2s}.dropdown-item[data-v-4fecc3fe]:hover{background-color:#f5f7fa;color:#409eff}.logout-btn[data-v-4fecc3fe]{background-color:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.logout-btn[data-v-4fecc3fe]:hover{background-color:#c0392b}.modal-overlay[data-v-4fecc3fe]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-dialog[data-v-4fecc3fe]{width:400px;max-width:90vw;background-color:#fff;border-radius:8px;box-shadow:0 8px 24px #0003;overflow:hidden}.modal-header[data-v-4fecc3fe]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.modal-header h3[data-v-4fecc3fe]{margin:0;font-size:16px;font-weight:600;color:#2c3e50}.modal-close[data-v-4fecc3fe]{background:none;border:none;font-size:22px;line-height:1;color:#7f8c8d;cursor:pointer;padding:0 4px}.modal-close[data-v-4fecc3fe]:hover{color:#2c3e50}.modal-body[data-v-4fecc3fe]{padding:20px}.form-item[data-v-4fecc3fe]{margin-bottom:16px}.form-item[data-v-4fecc3fe]:last-child{margin-bottom:0}.form-label[data-v-4fecc3fe]{display:block;margin-bottom:6px;font-size:14px;color:#2c3e50}.form-input[data-v-4fecc3fe]{padding:8px 12px;color:#2c3e50;outline:none;transition:border-color .2s}.form-input[data-v-4fecc3fe]:focus{border-color:#409eff}.modal-footer[data-v-4fecc3fe]{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px;border-top:1px solid #e0e0e0}.btn-cancel[data-v-4fecc3fe]{background-color:#fff;color:#2c3e50;border:1px solid #d0d0d0;padding:8px 20px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-cancel[data-v-4fecc3fe]:hover{background-color:#f5f7fa}.btn-submit[data-v-4fecc3fe]{background-color:#409eff;color:#fff;border:none;padding:8px 20px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-submit[data-v-4fecc3fe]:hover{background-color:#337ecc}.btn-submit[data-v-4fecc3fe]:disabled{background-color:#a0cfff;cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#ecf0f1}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:220px;min-height:100vh;background-color:#ecf0f1}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h2{margin:0;color:#2c3e50;font-size:24px}.search-bar{display:flex;gap:12px;margin-bottom:25px;align-items:center;flex-wrap:wrap}.search-input{flex:1;min-width:200px;max-width:300px;padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px}.search-select{padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:150px;background-color:#fff;cursor:pointer}.table-container{background-color:#fff;padding:15px;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #ecf0f1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50;font-size:14px}.data-table td{font-size:14px;color:#2c3e50}.data-table td.action-cell{overflow:visible}.data-table tr:hover{background-color:#f8f9fa}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:25px;color:#6c757d}.pagination button:disabled{opacity:.5;cursor:not-allowed;transform:none}.router-link{color:#3498db;text-decoration:none;font-weight:500;cursor:pointer}router:hover{color:#66b1ff}.btn{padding:12px 24px;border:none;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;font-size:14px;transition:all .3s}.btn-sm{margin-right:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}a.btn-info{color:#fff!important}.btn-info{background-color:#17a2b8;color:#fff}.btn-success{color:#fff;background-color:#67c23a}.btn-warning{background-color:#f39c12;color:#fff}.btn-danger{background-color:#e74c3c;color:#fff}.btn-sm{padding:6px 12px;font-size:13px}.btn-link{background:none;color:#3498db;padding:4px 8px;text-decoration:underline}.btn-link:hover{color:#2980b9}.btn-back{display:flex;align-items:center;gap:4px;background:#f0f0f0;color:#333;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.btn-back:hover{background:#e0e0e0}.table-col-width-50{width:50px;min-width:50px}.table-col-width-60{width:60px;min-width:60px}.table-col-width-70{width:70px;min-width:70px}.table-col-width-80{width:80px;min-width:80px}.table-col-width-90{width:90px;min-width:90px}.table-col-width-100{width:100px;min-width:100px}.table-col-width-110{width:110px;min-width:110px}.table-col-width-120{width:120px;min-width:120px}.table-col-width-130{width:130px;min-width:130px}.table-col-width-140{width:140px;min-width:140px}.table-col-width-150{width:150px;min-width:150px}.table-col-width-160{width:160px;min-width:160px}.table-col-width-170{width:170px;min-width:170px}.table-col-width-180{width:180px;min-width:180px}.table-col-width-190{width:190px;min-width:190px}.table-col-width-200{width:200px;min-width:200px}.table-col-width-210{width:210px;min-width:210px}.table-col-width-220{width:220px;min-width:220px}.table-col-width-230{width:230px;min-width:230px}.table-col-width-240{width:240px;min-width:240px}.table-col-width-250{width:250px;min-width:250px}.form-section h4{margin:0 0 15px;color:#2c3e50;font-size:15px}.form-row{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.form-row.full-width{width:100%}.form-group{flex:1}.form-group.full-width{flex:100%}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#2c3e50;font-size:14px}.form-group.col-1{flex:0 0 calc(8.33% - 20px);max-width:calc(8.33% - 20px)}.form-group.col-2{flex:0 0 calc(16.66% - 20px);max-width:calc(16.66% - 20px)}.form-group.col-3{flex:0 0 calc(25% - 20px);max-width:calc(25% - 20px)}.form-group.col-4{flex:0 0 calc(33.33% - 20px);max-width:calc(33.33% - 20px)}.form-group.col-5{flex:0 0 calc(41.66% - 20px);max-width:calc(41.66% - 20px)}.form-group.col-6{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}.form-group.col-7{flex:0 0 calc(58.33% - 20px);max-width:calc(58.33% - 20px)}.form-group.col-8{flex:0 0 calc(66.66% - 20px);max-width:calc(66.66% - 20px)}.form-group.col-9{flex:0 0 calc(75% - 20px);max-width:calc(75% - 20px)}.form-group.col-10{flex:0 0 calc(83.33% - 20px);max-width:calc(83.33% - 20px)}.form-group.col-11{flex:0 0 calc(91.66% - 20px);max-width:calc(91.66% - 20px)}.form-group.col-12{flex:0 0 100%;max-width:100%}.form-input{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}textarea.form-input{width:100%;min-width:200px}.form-input:focus{outline:none;border-color:#3498db}.form-tip{font-size:12px;color:#6c757d;margin-top:4px}.form-hint{display:block;margin-top:4px;font-size:12px;color:#6c757d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;width:80%;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;background-color:#f8f9fa;position:sticky;top:0}.modal-header h3{margin:0;color:#2c3e50;font-size:18px}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;line-height:1}.modal-close:hover{color:#666}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #eee;background-color:#f8f9fa}.actions{display:flex;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.area-select{flex:1;min-width:120px}.area-selectors{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.back-icon{font-size:18px}.child-menu{padding-left:20px;color:#6c757d}.download-link{color:#3498db;text-decoration:none;font-size:14px}.download-link:hover{text-decoration:underline}.evaluate-textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;resize:none;outline:none;box-sizing:border-box}.evaluate-textarea:focus{border-color:#3498db}.fail-records{margin-top:12px;padding-top:12px;border-top:1px solid #eee}.fail-records li{margin-bottom:4px}.fail-records ul{margin:8px 0;padding-left:20px;font-size:13px;color:#dc3545}.fail-text{color:#dc3545;font-weight:500}.file-item{display:flex;align-items:center;padding:8px 12px;background-color:#fff;border:1px solid #eee;margin-bottom:6px;border-radius:4px}.file-link{color:#3498db;text-decoration:none;font-size:13px;margin-left:8px}.file-link:hover{text-decoration:underline}.file-name:hover{color:#3498db}.file-status{margin:0 10px;font-size:12px}.form-card{padding:20px;overflow-y:auto}.form-group-half{flex:1}.import-result{background-color:#f8f9fa;padding:16px;border-radius:6px}.import-result h4{margin:0 0 12px}.import-result p{margin:6px 0}.import-tips{background-color:#f0f7ff;padding:12px 16px;border-radius:6px;margin-bottom:16px;border-left:4px solid #3498db}.import-tips li{margin-bottom:4px}.import-tips p{margin:0 0 8px;font-weight:500}.import-tips ul{margin:0;padding-left:20px;font-size:13px;color:#666}.import-upload{margin-bottom:16px}.import-upload input[type=file]{display:block;padding:10px;border:2px dashed #ddd;border-radius:6px;width:100%;cursor:pointer}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:25px}.info-row{display:flex;margin-bottom:14px;align-items:flex-start}.info-row .value{flex:1;color:#2c3e50;word-break:break-word}.info-row:last-child{margin-bottom:0}.info-section{background-color:#f8f9fa;padding:20px;border-radius:8px;border-left:4px solid #3498db}.info-section h3{margin-top:0;margin-bottom:18px;color:#2c3e50;font-size:16px;font-weight:600;border-bottom:1px solid #e9ecef;padding-bottom:10px}.level-select{flex:1;min-width:150px}.order-form-container{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #00000014}.preview-body{flex:1;overflow:auto;padding:20px;display:flex;justify-content:center;align-items:center;background-color:#f5f5f5}.preview-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;line-height:1;padding:0}.preview-close:hover{color:#666}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;background-color:#f8f9fa}.preview-iframe{width:100%;height:80vh;border:none;border-radius:4px;box-shadow:0 4px 12px #00000026}.preview-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 12px #00000026}.preview-modal{background-color:#fff;border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column}.radio-group{display:flex;gap:30px;align-items:center}.rating-text{font-size:14px;color:#6c757d;margin-top:5px}.remove-btn{background:none;border:none;font-size:18px;cursor:pointer;color:#999;padding:0 4px;line-height:1}.remove-btn:hover{color:#e74c3c}.result-option input[type=radio]{display:none}.result-option:hover{border-color:#3498db}.review-default{background-color:#95a5a6;color:#fff}.review-pass{background-color:#27ae60;color:#fff}.review-reject{background-color:#e74c3c;color:#fff}.review-risk{background-color:#f39c12;color:#fff}.select-group{display:flex;gap:15px}.service-type-selector{display:flex;flex-direction:column;gap:15px}.skill-tags-empty{color:#999;font-size:14px;line-height:24px}.staff-form-container{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #00000014}.star-btn{font-size:36px;color:#ddd;cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.star-btn.active,.star-btn:hover,.star.filled{color:#f39c12}.status-available{background-color:#27ae60;color:#fff;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-busy{background-color:#e74c3c;color:#fff;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.success-text{color:#28a745;font-weight:500}.text-danger{color:#e74c3c;font-weight:500}.text-green{color:#27ae60;font-weight:600}.text-red{color:#e74c3c;font-weight:600}.text-success{color:#27ae60;font-weight:500}.tree-list{list-style:none;margin:0;padding:0}.tree-node-content{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:4px}.tree-node-content:hover{background:#f8f9fa}.unsupported-preview{text-align:center;padding:40px;color:#666}.unsupported-preview p{font-size:16px;margin-bottom:20px}.upload-btn input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-btn:hover{background-color:#2980b9}.user-form-container{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #00000014}.user-name{font-weight:600;color:#2c3e50}.tooltip-btn{position:relative}.tooltip-btn:before{content:attr(data-tooltip);position:absolute;top:-38px;left:50%;transform:translate(-50%);display:block;width:max-content;background-color:#2c3e50;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;line-height:1.5;white-space:normal;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:9999;pointer-events:none}.tooltip-btn:hover:before{opacity:1;visibility:visible}
