.ses-vote-wrap{max-width:820px;margin:24px auto;padding:16px;border:1px solid #e5e5e5;border-radius:10px}
.ses-card{background:#fff;border:1px solid #eee;padding:14px;border-radius:10px;margin-top:12px}
#ses-access-form label{display:block;margin-bottom:6px;font-weight:600}
#ses-access-form input{width:100%;max-width:360px;padding:10px;border:1px solid #ddd;border-radius:8px}
#ses-access-form button{margin-top:10px;padding:10px 14px;border-radius:8px;border:0;background:#1d4ed8;color:#fff;cursor:pointer}
#ses-submit-vote{padding:10px 14px;border-radius:8px;border:0;background:#16a34a;color:#fff;cursor:pointer}
.ses-msg{margin-top:10px}
.ses-error{color:crimson}
.ses-ok{color:green}
.ses-position{margin-top:14px;padding-top:10px;border-top:1px solid #f0f0f0}
.ses-ballot-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px;border:1px solid #eef2ff;border-radius:10px;overflow:hidden}
.ses-ballot-table thead th{background:#eff6ff;text-align:left;font-weight:700;padding:10px 12px;border-bottom:1px solid #e5e7eb;font-size:.95em}
.ses-ballot-table tbody td{padding:10px 12px;border-bottom:1px solid #cbd5e1;vertical-align:middle}
.ses-ballot-table tbody tr:hover td{border-bottom-color:#94a3b8}
.ses-ballot-table tbody tr:last-child td{border-bottom:0}
.ses-ballot-row{cursor:pointer}
.ses-ballot-row:hover{background:#f8fafc}
.ses-td-photo{width:80px}
.ses-td-select{width:90px;text-align:center}
.ses-photo{width:70px;height:70px;object-fit:cover;border-radius:10px;border:1px solid #eee;background:#fff}
.ses-photo-placeholder{width:70px;height:70px;border-radius:10px;border:1px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;color:#64748b}
.ses-name{font-weight:700}
.ses-manifesto{font-size:.92em;color:#444;margin-top:2px;max-width:640px}
.ses-muted{color:#666}

@media (max-width:560px){
  .ses-ballot-table thead{display:none}
  .ses-ballot-table, .ses-ballot-table tbody, .ses-ballot-table tr, .ses-ballot-table td{display:block;width:100%}
  .ses-ballot-table tbody td{border-bottom:0}
  .ses-ballot-row{border-bottom:1px solid #cbd5e1;padding:10px 12px}
  .ses-td-photo{padding-top:0}
  .ses-td-select{text-align:left}
}

.ses-ballot-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}

#ses-next,#ses-submit-vote{margin-left:auto}


/* Ballot background (lightest green) */
#ses-voting-container{background:#dff3e6;border:1px solid #bfe3cc;border-radius:10px}

/* === SES Printed Ballot Aesthetic (override) === */
#ses-voting-container,
.ses-ballot-wrap{
  background: #eaf7ef; /* light green, not too light */
  border: 1px solid #cde9d6;
  border-radius: 10px;
  padding: 16px 18px;
}

/* Serif feel like printed ballot */
#ses-voting-container{
  font-family: Georgia, "Times New Roman", serif;
}

/* Candidate table: official double-line separators */
.ses-candidates-table{
  border-collapse: collapse;
  width: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.ses-candidates-table tr{
  border-bottom: 4px double #000;
}

.ses-candidates-table tr:first-child{
  border-top: 4px double #000;
}

.ses-candidates-table td{
  padding: 10px 8px;
}

/* Keep selected row readable */
.ses-candidates-table tr.ses-selected{
  background-color: #dff3e6;
}
