*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px}header{text-align:center;margin-bottom:40px}header h1{color:#333;font-size:2.5rem;margin-bottom:10px}header p{color:#666;font-size:1.1rem}.upload-section{display:flex;flex-direction:column;align-items:center;gap:20px;padding:30px;border:2px dashed #ccc;border-radius:12px;margin-bottom:30px}.sender-input{display:flex;flex-direction:column;gap:8px;width:100%;max-width:400px}.sender-input label{font-weight:600;color:#555;font-size:.95rem}.sender-input input{padding:12px 16px;font-size:1rem;border:2px solid #ddd;border-radius:8px;transition:border-color .3s ease}.sender-input input:focus{outline:none;border-color:#667eea}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{display:none}.file-label{display:flex;align-items:center;gap:12px;padding:16px 32px;background:#f5f5f5;border-radius:8px;cursor:pointer;transition:all .3s ease}.file-label:hover{background:#e8e8e8}.file-icon{font-size:2rem}.file-text{font-size:1.1rem;color:#333}.file-name{font-size:1rem;color:#4a90d9;font-weight:500}.upload-btn{padding:14px 40px;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.upload-btn:disabled{background:#ccc;cursor:not-allowed}.loading{text-align:center;padding:40px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{padding:16px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;margin-bottom:20px}.result-section{margin-top:30px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.result-header h2{color:#333;font-size:1.8rem}.result-actions{display:flex;gap:12px}.edit-btn{padding:10px 24px;font-size:1rem;font-weight:600;color:#fff;background:#4a90d9;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.edit-btn:hover{background:#357abd}.edit-btn.hidden{display:none}.submit-btn{padding:10px 24px;font-size:1rem;font-weight:600;color:#fff;background:#28a745;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#218838}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-btn{padding:10px 24px;font-size:1rem;font-weight:600;color:#666;background:#f5f5f5;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#e8e8e8}.edit-input{width:100%;padding:8px 12px;font-size:.95rem;border:1px solid #ddd;border-radius:4px;font-family:inherit}.edit-input:focus{outline:none;border-color:#667eea}.notification{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:8px;display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:500;box-shadow:0 4px 20px #0003;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.notification-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.notification-hide{animation:slideOut .3s ease forwards}@keyframes slideOut{to{transform:translate(100%);opacity:0}}.notification-icon{font-size:1.2rem;font-weight:700}.download-btn{padding:10px 24px;font-size:1rem;font-weight:600;color:#fff;background:#6c757d;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.download-btn:hover{background:#5a6268}.table-container{overflow-x:auto;border-radius:12px;box-shadow:0 4px 20px #0000001a}#dataTable{width:100%;border-collapse:collapse;background:#fff}#dataTable th,#dataTable td{padding:14px 20px;text-align:left;border-bottom:1px solid #eee}#dataTable th{background:#f8f9fa;font-weight:600;color:#555;width:40%;font-size:.95rem}#dataTable td{color:#333;font-size:.95rem;word-break:break-word}#dataTable tr:last-child td{border-bottom:none}#dataTable tr:hover{background:#f8f9fa}.hidden{display:none!important}@media (max-width: 768px){body{padding:12px}.container{padding:20px}.result-header{flex-direction:column;align-items:flex-start;gap:12px}.result-actions{flex-wrap:wrap}}
