.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#111;color:#fff}.header a{color:inherit;text-decoration:none;margin-left:12px}.candidates-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding:20px}.candidate-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;width:250px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.candidate-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.candidate-photo-container{width:100%;height:200px;margin-bottom:15px;overflow:hidden;border-radius:4px;background-color:#f9f9f9;display:flex;align-items:center;justify-content:center}.candidate-photo{width:100%;height:100%;object-fit:cover}.candidate-placeholder{font-size:3rem;color:#ccc}.candidate-name{margin:0 0 15px;text-align:center;font-size:1.2rem;font-weight:700;color:#333}.vote-button{margin-top:auto;width:100%;padding:10px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.vote-button:hover{background-color:#0056b3}@media(max-width:600px){.candidates-grid{flex-direction:column;align-items:center}.candidate-card{width:100%;max-width:350px}}.admin-page{padding:20px;max-width:720px;margin:0 auto}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-form label{display:flex;flex-direction:column;font-weight:600}.admin-form input[type=text],.admin-form input[type=file],.admin-form input{padding:8px;font-size:14px}.preview img{max-width:160px;max-height:160px;object-fit:cover;border-radius:6px;margin-top:8px}button[disabled]{opacity:.6;cursor:not-allowed}.message{margin-top:8px;color:#0a6}.edit-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}button{margin-left:.5rem}button:hover{cursor:pointer;opacity:.85}.message{margin-top:1rem;font-weight:700;color:#444;transition:opacity .3s ease}.toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);background-color:#4caf50;color:#fff;padding:.75rem 1.5rem;border-radius:6px;box-shadow:0 2px 6px #0003;font-weight:700;z-index:1000;animation:fadeOut 3s ease forwards}@keyframes fadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0}}body{font-family:Arial,sans-serif;margin:0;padding:0;background-color:#f4f4f4}h1,h2,h3{color:#333}.container{width:80%;margin:auto;overflow:hidden}.header{background:#35424a;color:#fff;padding:10px 0;text-align:center}.candidate-card{background:#fff;border:1px solid #dddddd;border-radius:5px;padding:15px;margin:10px 0;box-shadow:0 2px 5px #0000001a}.candidate-card img{max-width:100%;border-radius:5px}.button{display:inline-block;font-size:16px;color:#fff;background:#5cb85c;padding:10px 15px;border:none;border-radius:5px;cursor:pointer;text-decoration:none}.button:hover{background:#4cae4c}
