*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.auth-container{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-form{background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:40px;display:flex;box-shadow:0 2px 16px #00000014}.auth-form h2{text-align:center;color:#1a1a1a;margin:0 0 8px;font-size:24px}.auth-form input{border:1px solid #ddd;border-radius:8px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .2s}.auth-form input:focus{border-color:#4f46e5}.auth-form button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:12px;font-size:16px;font-weight:600;transition:background .2s}.auth-form button:hover{background:#4338ca}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.password-field{display:flex;position:relative}.password-field input{flex:1;padding-right:60px}.btn-toggle-pw{color:#4f46e5;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.btn-toggle-pw:hover{color:#4338ca}.switch-link{text-align:center;color:#666;margin:0;font-size:14px}.switch-link a{color:#4f46e5;font-weight:600;text-decoration:none}.error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:0;padding:10px 14px;font-size:14px}.success{color:#16a34a;background:#f0fdf4;border-radius:8px;margin:0;padding:10px 14px;font-size:14px}.dashboard-container{background:#f5f5f5;max-width:700px;min-height:100vh;margin:0 auto;padding:24px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-header h2{color:#1a1a1a;margin:0;font-size:24px}.btn-logout{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600}.btn-logout:hover{background:#dc2626}.profile-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 16px #00000014}.profile-card h3{color:#1a1a1a;margin:0 0 4px;font-size:20px}.profile-email{color:#666;margin:0 0 24px;font-size:14px}.profile-details{flex-direction:column;gap:12px;display:flex}.detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:12px 0;font-size:15px;display:flex}.detail-row .label{color:#555;font-weight:600}.btn-edit{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;margin-top:20px;padding:12px;font-size:15px;font-weight:600}.btn-edit:hover{background:#4338ca}.edit-form{flex-direction:column;gap:16px;margin-top:20px;display:flex}.edit-form label{color:#555;flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.edit-form input{color:#1a1a1a;border:1px solid #ddd;border-radius:8px;outline:none;padding:10px 12px;font-size:15px;font-weight:400}.edit-form input:focus{border-color:#4f46e5}.optional{color:#999;font-size:12px;font-weight:400}.form-actions{gap:12px;margin-top:8px;display:flex}.form-actions button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:15px;font-weight:600}.form-actions button[type=submit]{color:#fff;background:#4f46e5}.form-actions button[type=submit]:hover{background:#4338ca}.btn-cancel{color:#374151;background:#f3f4f6}.btn-cancel:hover{background:#e5e7eb}.admin-container{background:#f5f5f5;max-width:1000px;min-height:100vh;margin:0 auto;padding:24px}.admin-stats{gap:16px;margin-bottom:24px;display:flex}.stat-card{background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:24px 32px;display:flex;box-shadow:0 2px 16px #00000014}.stat-number{color:#4f46e5;font-size:36px;font-weight:700}.stat-label{color:#666;font-size:14px}.admin-table-wrapper{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 16px #00000014}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;color:#374151;white-space:nowrap;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:12px 16px;font-weight:600}.admin-table td{color:#1a1a1a;border-bottom:1px solid #f0f0f0;padding:12px 16px}.admin-table tbody tr:hover{background:#f9fafb}.key-cell{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.load-more{text-align:center;color:#666;padding:16px;font-size:14px}.step-info{text-align:center;color:#888;margin:0;font-size:13px}.internship-list{flex-direction:column;gap:10px;max-height:400px;display:flex;overflow-y:auto}.internship-card{cursor:pointer;border:2px solid #e5e7eb;border-radius:10px;padding:14px 16px;transition:border-color .2s,background .2s}.internship-card:hover{background:#f5f3ff;border-color:#4f46e5}.internship-card.selected{background:#ede9fe;border-color:#4f46e5}.internship-title{color:#1a1a1a;margin-bottom:6px;font-size:15px;font-weight:600}.internship-meta{color:#666;flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.internship-meta span{background:#f3f4f6;border-radius:4px;padding:2px 8px}.internship-type{font-weight:600;color:#1d4ed8!important;background:#dbeafe!important}.internship-id{color:#999;margin-top:6px;font-size:12px}.selected-internship{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;font-size:14px}.selected-internship .label{font-weight:600}.btn-back{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;margin-top:8px;padding:10px;font-size:14px;font-weight:600}.btn-back:hover{background:#e5e7eb}.run-card{background:#fff;border-radius:12px;flex-direction:column;gap:12px;margin-top:24px;padding:24px 32px;display:flex;box-shadow:0 2px 16px #00000014}.run-info h3{color:#1a1a1a;margin:0 0 4px;font-size:18px}.run-info p{color:#666;margin:0;font-size:14px}.btn-run{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;align-self:flex-start;padding:12px 24px;font-size:16px;font-weight:700;transition:background .2s}.btn-run:hover:not(:disabled){background:#15803d}.btn-run:disabled{opacity:.5;cursor:not-allowed}.logs-card{background:#fff;border-radius:12px;margin-top:24px;padding:24px 32px;box-shadow:0 2px 16px #00000014}.logs-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.logs-header h3{color:#1a1a1a;margin:0;font-size:18px}.logs-filter{cursor:pointer;border:1px solid #ddd;border-radius:6px;outline:none;padding:6px 12px;font-size:13px}.logs-filter:focus{border-color:#4f46e5}.logs-list{flex-direction:column;gap:10px;display:flex}.log-item{border:1px solid #f0f0f0;border-radius:8px;padding:12px 14px;transition:background .15s}.log-item:hover{background:#fafafa}.log-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.log-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 10px;font-size:11px;font-weight:700}.log-success{color:#166534;background:#dcfce7}.log-error{color:#dc2626;background:#fef2f2}.log-info{color:#1d4ed8;background:#eff6ff}.log-date{color:#999;font-size:12px}.log-message{color:#374151;word-break:break-word;margin:0;font-size:14px;line-height:1.5}.logs-loading,.logs-empty{text-align:center;color:#999;margin:0;padding:20px 0;font-size:14px}.logs-pagination{border-top:1px solid #f0f0f0;justify-content:center;align-items:center;gap:16px;margin-top:16px;padding-top:12px;display:flex}.logs-pagination button{cursor:pointer;color:#4f46e5;background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600}.logs-pagination button:hover:not(:disabled){background:#f5f3ff;border-color:#4f46e5}.logs-pagination button:disabled{opacity:.4;cursor:not-allowed}.logs-pagination span{color:#666;font-size:13px}
