.csp-ce-group-ballots{display:grid;gap:16px;margin:18px 0}.csp-ce-ballot{--violet:#6e43e8;--teal:#0d9f91;--ink:#171b35;--muted:#687087;background:#fff;border:1px solid #e1e5ef;border-radius:20px;box-shadow:0 12px 32px rgba(18,25,54,.08);color:var(--ink);margin:18px 0;overflow:hidden;padding:20px}.csp-ce-ballot>header{align-items:center;border-bottom:1px solid #e7e9f0;display:flex;gap:12px;margin:-20px -20px 18px;padding:18px 20px}.csp-ce-ballot__mark{align-items:center;background:linear-gradient(145deg,var(--violet),var(--teal));border-radius:12px;color:#fff;display:flex;font-size:11px;font-weight:900;height:40px;justify-content:center;width:40px}.csp-ce-ballot header div{flex:1}.csp-ce-ballot header small{color:#5f43c5;font-size:11px;font-weight:800;letter-spacing:.12em}.csp-ce-ballot h3{font-size:19px;margin:4px 0 0}.csp-ce-ballot__status{background:#eaf9f6;border-radius:99px;color:#08766c;font-size:11px;font-weight:900;padding:6px 8px}.csp-ce-ballot__description,.csp-ce-ballot__rules,.csp-ce-ballot__message{color:var(--muted);font-size:13px}.csp-ce-ballot__message.is-danger{background:#fff0f2;border-left:4px solid #b82d45;color:#8c2032;padding:10px}.csp-ce-ballot fieldset{border:0;margin:18px 0;padding:0}.csp-ce-ballot legend{font-size:13px;font-weight:800;margin-bottom:10px}.csp-ce-ballot-candidate{align-items:center;border:1px solid #e0e4ed;border-radius:14px;cursor:pointer;display:flex;gap:11px;margin-bottom:9px;padding:11px}.csp-ce-ballot-candidate:has(input:checked){background:#f3efff;border-color:#9d82ef}.csp-ce-ballot-candidate input{accent-color:var(--violet)}.csp-ce-ballot-candidate img{border-radius:50%;height:46px;object-fit:cover;width:46px}.csp-ce-ballot-candidate span{flex:1;min-width:0}.csp-ce-ballot-candidate strong{display:block;font-size:13px}.csp-ce-ballot-candidate small{color:var(--muted);display:-webkit-box;font-size:11px;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.csp-ce-ballot-candidate em{color:#8172aa;font-size:11px;font-style:normal}.csp-ce-ballot__blank{align-items:center;background:#f5fbfa;border:1px solid #cceae5;border-radius:14px;display:flex;gap:10px;margin:12px 0;padding:12px}.csp-ce-ballot__blank span{display:block}.csp-ce-ballot__blank strong,.csp-ce-ballot__blank small{display:block;font-size:11px}.csp-ce-ballot__blank small{color:var(--muted)}.csp-ce-ballot__submit,.csp-ce-receipt button{background:linear-gradient(135deg,#784af0,#6338dc);border:0;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;padding:12px 17px}.csp-ce-ballot__submit:disabled{cursor:not-allowed;opacity:.5}.csp-ce-receipt{background:#effaf7;border:1px solid #bfe8df;border-radius:16px;padding:17px}.csp-ce-receipt h4{color:#08776b;margin:0 0 7px}.csp-ce-receipt>code,.csp-ce-receipt dd code{display:block;overflow-wrap:anywhere}.csp-ce-receipt>code{background:#fff;border:1px solid #cfe1de;border-radius:9px;font-size:13px;margin:11px 0;padding:11px}.csp-ce-receipt dl{font-size:11px}.csp-ce-receipt dt{color:var(--muted);font-weight:800;margin-top:9px}.csp-ce-receipt dd{margin:3px 0}.csp-ce-results{margin-top:18px;padding:18px;border:1px solid #d8d8ee;border-radius:16px;background:#fbfbff}.csp-ce-results ol{margin:12px 0 16px 24px}.csp-ce-results li{padding:5px 0}.csp-ce-results a{font-weight:700;color:#5431d6;text-decoration:underline}.csp-ce-ballot button:focus-visible,.csp-ce-ballot input:focus-visible,.csp-ce-ballot-candidate:focus-within{outline:3px solid rgba(110,67,232,.28);outline-offset:2px}@media(max-width:600px){.csp-ce-ballot{border-radius:14px;padding:15px}.csp-ce-ballot>header{align-items:flex-start;margin:-15px -15px 15px;padding:15px}.csp-ce-ballot__status{margin-left:auto}.csp-ce-ballot-candidate em{display:none}.csp-ce-ballot__submit{width:100%}}
.csp-ce-ballot__cover { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; aspect-ratio: 16 / 9; min-height: 210px; margin: 0 0 18px; padding: 22px; border-radius: 18px; background: radial-gradient(circle at 82% 18%, rgba(255, 204, 70, .9) 0 7%, transparent 8%), radial-gradient(circle at 17% 82%, rgba(23, 194, 176, .88) 0 10%, transparent 11%), linear-gradient(135deg, #21104f, #6722ae 58%, #0e718f); background-size: cover; background-position: center; color: #fff; }
.csp-ce-ballot__cover[hidden] { display: none; }
.csp-ce-ballot__cover.is-portrait { aspect-ratio: 9 / 16; max-width: 430px; max-height: 620px; margin-right: auto; margin-left: auto; }
.csp-ce-ballot__cover span { font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.csp-ce-ballot__cover strong { max-width: 90%; margin-top: 8px; color: #fff; font-size: clamp(24px, 5vw, 42px); line-height: 1.08; }
.csp-ce-ballot__cover a { align-self: flex-start; margin-top: 12px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; background: rgba(20,12,48,.5); color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }
.csp-ce-ballot { position: relative; }
.csp-ce-ballot__join { display: flex; gap: 10px; margin: 14px 0; padding: 14px; border: 1px solid #9fdacf; border-radius: 14px; background: #effaf7; color: #273247; }
.csp-ce-ballot__join span,.csp-ce-ballot__join strong,.csp-ce-ballot__join small { display: block; }
.csp-ce-ballot__join small { margin-top: 4px; color: #687589; }
.csp-ce-auth-dialog { position: fixed; z-index: 2147483600; top: 50%; left: 50%; box-sizing: border-box; width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 34px; border-radius: 28px; background: #fff; box-shadow: 0 30px 90px rgba(16, 22, 45, .42); transform: translate(-50%, -50%); color: #232a40; }
.csp-ce-auth-dialog[hidden], .csp-ce-join-dialog[hidden] { display: none !important; }
.csp-ce-auth-dialog::before { content: ""; position: fixed; z-index: -1; inset: -100vmax; background: rgba(20, 27, 48, .62); backdrop-filter: blur(5px); }
.csp-ce-auth-dialog__close { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #f2f4f8; color: #687187; font-size: 24px; cursor: pointer; }
.csp-ce-auth-dialog__badge { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #fff5e4; color: #5b4630; font-size: 11px; font-weight: 800; }
.csp-ce-auth-dialog h4 { margin: 24px 0 8px; font-size: 30px; }
.csp-ce-auth-dialog__selection { margin: 22px 0; padding: 16px; border: 1px solid #d8e5e2; border-radius: 16px; background: #f4faf8; font-weight: 800; }
.csp-ce-auth-dialog__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.csp-ce-auth-dialog__actions a { display: grid; place-items: center; min-height: 48px; padding: 0 14px; border: 1px solid #d9deea; border-radius: 13px; background: #fff; color: #3d4357; font-weight: 800; text-decoration: none; }
.csp-ce-auth-dialog__actions a:last-child { border-color: #6739dc; background: linear-gradient(135deg, #7245ec, #5c31d0); color: #fff; }
@media (max-width: 600px) { .csp-ce-auth-dialog { padding: 26px 20px; } .csp-ce-auth-dialog__actions { grid-template-columns: 1fr; } }
