*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,Arial,sans-serif;background-color:#f8f9fa;padding:20px;line-height:1.6}.container{max-width:1800px;margin:0 auto}.header{text-align:center;padding:20px 0;margin-bottom:20px;background:white;border-radius:8px}.header h1{color:#2c3e50;font-size:2.5em;margin-bottom:10px}.header p{color:#7f8c8d;font-size:1.1em}.nav-buttons{display:flex;justify-content:center;gap:20px;margin:20px 0}.nav-button{display:inline-block;padding:15px 30px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;text-decoration:none;border-radius:8px;font-size:1.1em;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.nav-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026;text-decoration:none;color:#fff}.nav-button.primary{background:linear-gradient(135deg,#43cea2 0%,#185a9d 100%)}.nav-button.secondary{background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}.btn{display:inline-block;padding:8px 16px;margin:4px 2px;border:none;border-radius:4px;cursor:pointer;font-size:14px;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-success{background-color:#28a745;color:#fff}.btn-danger{background-color:#dc3545;color:#fff}.table-container{background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a;margin-bottom:20px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{background-color:#f8f9fa;padding:12px;text-align:left;border-bottom:2px solid #dee2e6;font-weight:600;color:#495057;position:sticky;top:0;z-index:10}.data-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.data-table tbody tr:hover{background-color:#f5f5f5}.upload-section{background:white;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;text-align:center}.upload-area{border:2px dashed #007bff;padding:40px;border-radius:8px;cursor:pointer;transition:all .3s ease;background:#f8f9ff}.upload-area:hover{border-color:#0056b3;background:#f0f7ff}.upload-area h5{color:#007bff;margin-bottom:10px;font-size:1.2em}.upload-area p{color:#666;margin:0}.upload-area input[type=file]{display:none}.loading{text-align:center;padding:40px}.loading.hidden{display:none}.spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hidden{display:none!important}@media (max-width: 768px){body{padding:10px}.header h1{font-size:2em}.nav-buttons{flex-direction:column;align-items:center}.nav-button{width:80%;text-align:center}.container{max-width:100%}}.tooltip{position:relative;cursor:help}.tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000}.message{padding:12px 20px;border-radius:4px;margin:10px 0;font-weight:500}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.message.warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}
