.voting-page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:96px}
.voting-page-brand{display:flex!important;align-items:center;gap:13px;text-align:center!important}
.voting-page-brand img{display:block;width:auto;height:48px;max-width:180px;object-fit:contain}
.voting-page-brand span{color:var(--vote-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.voting-page-version{justify-self:end;text-align:right!important}
.voting-page-version small{display:block}
.voting-page-version strong{font-size:1.05rem!important}
.voting-ballot-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px}
.voting-ballot-head>div{display:grid;gap:12px}
.voting-ballot-head h2{margin:0;padding:0}
.voting-ballot-head p{max-width:650px;margin:0;color:var(--vote-muted);font-size:1.08rem;line-height:1.6}
.voting-current-voter{display:grid;grid-template-columns:46px minmax(150px,auto) 24px;align-items:center;gap:12px;min-width:280px;padding:12px 14px;border:1px solid rgba(121,203,184,.3);border-radius:16px;background:linear-gradient(135deg,rgba(121,203,184,.14),rgba(121,203,184,.05));box-shadow:0 12px 30px rgba(0,0,0,.12)}
.voting-current-voter>b{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#17201e;background:#79cbb8;font-size:.8rem;letter-spacing:.05em}
.voting-current-voter>span{display:grid;gap:1px}
.voting-current-voter small{color:var(--vote-muted);font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.voting-current-voter strong{overflow:hidden;max-width:230px;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}
.voting-current-voter em{color:var(--vote-accent);font-size:.68rem;font-style:normal;font-weight:900;text-transform:uppercase}
.voting-current-voter>i{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;color:#17201e;background:#79cbb8;font-size:.72rem;font-style:normal;font-weight:950}
@media(max-width:760px){.voting-page-header{grid-template-columns:1fr auto;gap:10px}.voting-page-brand{grid-column:1/-1;grid-row:2;justify-self:center;padding-bottom:13px}.voting-page-brand img{height:38px}.voting-page-brand span{display:none}.voting-page-version strong{font-size:.88rem!important}.voting-ballot-head{grid-template-columns:1fr;gap:18px}.voting-current-voter{width:100%;min-width:0}.voting-current-voter strong{max-width:52vw}}
.voting-context-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--vote-border)}
.voting-context-row .voting-kicker{flex:1}
.voting-ballot-head{display:block}
.voting-current-voter{grid-template-columns:34px minmax(130px,auto) 20px;gap:10px;min-width:240px;padding:8px 10px;border-radius:999px;background:rgba(121,203,184,.09);box-shadow:none}
.voting-current-voter>b{width:34px;height:34px;border-radius:50%;font-size:.7rem}
.voting-current-voter>i{width:20px;height:20px;font-size:.65rem}
@media(max-width:760px){.voting-context-row{align-items:flex-start;flex-direction:column}.voting-current-voter{width:100%;min-width:0;border-radius:14px}.voting-current-voter strong{max-width:60vw}}
.admin-users-page-list article{grid-template-columns:44px minmax(190px,1fr) minmax(330px,.95fr) auto}
.admin-user-login-stats{display:grid!important;grid-template-columns:minmax(120px,.65fr) minmax(190px,1fr);gap:8px!important}
.admin-user-login-stats>span{display:grid;gap:3px;padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035)}
.admin-user-login-stats small{font-size:.67rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.admin-user-login-stats strong{font-size:.88rem}
.admin-user-actions{display:flex!important;align-items:center;gap:7px!important}
.admin-users-page-list article:has(.admin-user-status[data-active="false"]){border-color:rgba(218,82,98,.17);background:rgba(179,38,30,.035)}
@media(max-width:900px){.admin-users-page-list article{grid-template-columns:44px minmax(0,1fr) auto}.admin-user-login-stats{grid-column:2/-1;grid-row:2}.admin-user-actions{grid-column:3;grid-row:1}.admin-user-delete{grid-column:auto!important}}
@media(max-width:650px){.admin-users-page-list article{grid-template-columns:40px minmax(0,1fr)}.admin-user-login-stats{grid-column:1/-1;grid-row:auto;grid-template-columns:1fr}.admin-user-actions{grid-column:1/-1;grid-row:auto;display:grid!important;grid-template-columns:1fr 1fr;width:100%}.admin-user-actions button{grid-column:auto!important;width:100%}}
.notification-count{display:inline-grid;min-width:19px;height:19px;margin-left:7px;padding:0 5px;place-items:center;border-radius:999px;color:#fff;background:#c62d3d;font-size:.66rem;line-height:1;vertical-align:middle;box-shadow:0 0 0 3px rgba(198,45,61,.14)}
.board-notice-row.is-unread{border-color:rgba(90,185,162,.62);background:linear-gradient(90deg,rgba(90,185,162,.15),rgba(255,255,255,.96) 18%);box-shadow:inset 4px 0 0 #4fb99f}
.topbar-profile{display:flex;align-items:center;gap:9px;max-width:230px;min-height:40px;padding:5px 11px 5px 6px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--text);background:rgba(255,255,255,.045);cursor:pointer}.topbar-profile>span{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:50%;color:#173126;background:#79cbb8;font-size:.65rem;font-weight:950}.topbar-profile>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.own-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.own-profile-head>span{display:grid;width:58px;height:58px;place-items:center;border-radius:17px;color:#173126;background:#79cbb8;font-weight:950}.own-profile-head h3,.own-profile-head p{margin:0}.own-profile-head small{color:var(--muted)}.own-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.own-profile-grid>div,.own-profile-pin{padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04)}.own-profile-grid small,.own-profile-pin small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase}.own-profile-pin{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.own-profile-pin strong{font-size:1.25rem;letter-spacing:.1em}.own-profile-pin button,.own-profile-logout,.admin-profile-form button{min-height:40px;padding:0 13px;border:0;border-radius:10px;font-weight:850;cursor:pointer}.own-profile-logout{width:100%;margin-top:14px;color:#fff;background:#8f2033}.admin-profile-form{display:grid;gap:14px;margin-top:18px}.admin-profile-form label{display:grid;gap:7px;font-weight:850}.admin-profile-form select,.admin-add-card select{min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:var(--text);background:var(--surface);font:inherit}.admin-users-page-list article{cursor:pointer}@media(max-width:860px){.topbar-profile{max-width:none;padding:5px}.topbar-profile>strong{display:none}}@media(max-width:520px){.own-profile-grid{grid-template-columns:1fr}.own-profile-pin{align-items:flex-start;flex-direction:column;gap:10px}.own-profile-pin button{width:100%}}

/* Glasanje je poseban workspace, ali materijal uvijek prati korisnikov odabir
   povrsine. Themed je puna boja teme; glass koristi iskljucivo --uig-* tokene. */
body.voting-open{--vote-workspace-page:var(--uis-panel);--vote-workspace-panel:var(--uis-panel);--vote-workspace-raised:var(--uis-card);--vote-workspace-soft:var(--uis-inset);--vote-workspace-line:var(--uis-line);--vote-workspace-line-strong:var(--uis-line-strong);--vote-workspace-accent:var(--uis-accent);--vote-workspace-text:var(--uis-text);--vote-workspace-muted:var(--uis-muted);--vote-panel:var(--uis-card);--vote-surface:var(--uis-inset);--vote-surface-strong:var(--uis-card-alt);--vote-border:var(--uis-line);--vote-text:var(--uis-text);--vote-muted:var(--uis-muted);--vote-accent:var(--uis-accent);--vote-accent-text:var(--uis-head)}
body[data-interface-surface="glass"].voting-open{--vote-workspace-page:color-mix(in srgb,var(--uis-panel) 22%,transparent);--vote-workspace-panel:var(--uig-panel);--vote-workspace-raised:var(--uig-bg);--vote-workspace-soft:var(--uig-inset);--vote-workspace-line:var(--uig-line);--vote-workspace-line-strong:color-mix(in srgb,var(--uis-accent) 58%,var(--uig-line));--vote-workspace-accent:var(--uis-accent);--vote-workspace-text:var(--uig-text);--vote-workspace-muted:var(--uig-muted);--vote-panel:var(--uig-panel);--vote-surface:var(--uig-inset);--vote-surface-strong:var(--uig-bg-alt);--vote-border:var(--uig-line);--vote-text:var(--uig-text);--vote-muted:var(--uig-muted)}
.voting-page{color:var(--vote-workspace-text);background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--vote-workspace-accent) 10%,transparent),transparent 28%),var(--vote-workspace-page)}
body[data-interface-surface="themed"] .voting-page{backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-interface-surface="glass"] .voting-page{backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}
.voting-page .voting-dialog{width:min(1240px,100%)}
.voting-page-header{position:relative;min-height:102px;margin-bottom:34px}
.voting-page-header::after{position:absolute;right:0;bottom:-1px;left:0;height:1px;content:"";background:linear-gradient(90deg,transparent,var(--vote-workspace-line-strong),transparent);opacity:.75}
.voting-page-header .voting-close{min-width:190px;border-color:var(--vote-workspace-line);color:var(--vote-workspace-text);background:var(--vote-workspace-soft);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.voting-page-header .voting-close:hover,.voting-page-header .voting-close:focus-visible{border-color:var(--vote-workspace-line-strong);background:color-mix(in srgb,var(--vote-workspace-accent) 10%,var(--vote-workspace-soft));outline:0;transform:translateX(-2px)}
.voting-page #votingDialogBody{width:min(1040px,100%)}
.voting-page .voting-step{gap:24px;padding:clamp(26px,4vw,48px);border-color:var(--vote-workspace-line);background:linear-gradient(145deg,var(--vote-workspace-raised),var(--vote-workspace-panel));box-shadow:0 26px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04)}
body[data-interface-surface="themed"] .voting-page .voting-step{background:linear-gradient(145deg,var(--uis-card),var(--uis-panel));backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-interface-surface="glass"] .voting-page .voting-step{background:var(--uig-panel);box-shadow:inset 0 1px rgba(255,255,255,.07),0 26px 80px rgba(0,0,0,.22);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}

/* Voting owns its full-screen material. Its nested confirmation and audit layers
   follow the same selected surface instead of introducing a local dark palette. */
body[data-interface-surface="themed"] :is(.voting-audit-dismiss,.secret-confirm-modal){background:color-mix(in srgb,var(--uis-head) 78%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-interface-surface="glass"] :is(.voting-audit-dismiss,.secret-confirm-modal){background:color-mix(in srgb,var(--uis-panel) 28%,transparent);backdrop-filter:blur(12px) saturate(1.04);-webkit-backdrop-filter:blur(12px) saturate(1.04)}
body[data-interface-surface="themed"] :is(.voting-audit-card,.secret-confirm-card){color:var(--uis-text);border-color:var(--uis-line-strong);background:radial-gradient(circle at 90% 0,var(--uis-accent-soft),transparent 34%),var(--uis-panel);backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-interface-surface="glass"] :is(.voting-audit-card,.secret-confirm-card){color:var(--uig-text);border-color:var(--uig-line);background:var(--uig-panel);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}
.secret-confirm-card p,.secret-confirm-card>strong{color:var(--vote-workspace-accent)}
.secret-confirm-card small{color:var(--vote-workspace-muted)}
.secret-confirm-card [data-secret-confirm-no]{color:var(--vote-workspace-text);border-color:var(--vote-workspace-line);background:var(--vote-workspace-soft)}
.secret-confirm-card [data-secret-confirm-yes]{color:var(--uis-head);border-color:var(--vote-workspace-accent);background:var(--vote-workspace-accent)}
.voting-pdf-toolbar{border-color:var(--vote-workspace-line);background:var(--vote-workspace-soft)}
.voting-pdf-viewer{border-color:var(--vote-workspace-line)}

.voting-auth-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
.voting-auth-heading>div{display:grid;gap:8px}
.voting-auth-heading h2{padding:0;font-size:clamp(2rem,4.4vw,3.15rem);line-height:1.02;letter-spacing:-.035em}
.voting-auth-heading>div>span{max-width:670px;color:var(--vote-workspace-muted);font-size:.84rem;line-height:1.55}
.voting-identity{display:grid;width:100%;grid-template-columns:70px minmax(0,1fr) 38px;align-items:center;gap:18px;padding:20px;border:1px solid var(--vote-workspace-line);border-radius:20px;color:var(--vote-workspace-text);background:var(--vote-workspace-soft);box-shadow:inset 0 1px rgba(255,255,255,.05);font:inherit;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.voting-identity:hover,.voting-identity:focus-visible{border-color:var(--vote-workspace-line-strong);background:color-mix(in srgb,var(--vote-workspace-accent) 8%,var(--vote-workspace-soft));box-shadow:0 14px 32px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.05);outline:0;transform:translateY(-2px)}
.voting-identity.is-confirmed{border-color:var(--vote-workspace-line-strong);background:linear-gradient(135deg,color-mix(in srgb,var(--vote-workspace-accent) 15%,var(--vote-workspace-soft)),var(--vote-workspace-soft));box-shadow:0 0 0 3px color-mix(in srgb,var(--vote-workspace-accent) 8%,transparent),inset 0 1px rgba(255,255,255,.06)}
.voting-identity-avatar{display:grid;width:70px;height:70px;overflow:hidden;place-items:center;border:2px solid color-mix(in srgb,var(--vote-workspace-accent) 55%,transparent);border-radius:20px;color:#10231e;background:var(--vote-workspace-accent);font-size:.9rem;font-weight:950}
.voting-identity-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.voting-identity-copy{display:grid;gap:3px}
.voting-identity-copy small{color:var(--vote-workspace-muted);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.voting-identity-copy strong{font-size:clamp(1.15rem,2vw,1.42rem)}
.voting-identity-copy p{margin:0;color:var(--vote-workspace-accent);font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.voting-identity>i{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--vote-workspace-line-strong);border-radius:50%;color:var(--vote-workspace-accent);background:color-mix(in srgb,var(--vote-workspace-accent) 7%,transparent);font-size:1rem;font-style:normal;font-weight:950;transition:color .2s ease,background .2s ease,box-shadow .2s ease}
.voting-identity.is-confirmed>i{color:#10231e;background:var(--vote-workspace-accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--vote-workspace-accent) 10%,transparent)}
.voting-auth-assurance{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--vote-workspace-line);border-radius:14px;background:color-mix(in srgb,var(--vote-workspace-accent) 5%,transparent)}
.voting-auth-assurance>span{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:10px;color:var(--vote-workspace-accent);background:color-mix(in srgb,var(--vote-workspace-accent) 12%,transparent);font-weight:950}
.voting-auth-assurance p{display:grid;gap:2px;margin:0}
.voting-auth-assurance strong{font-size:.76rem}
.voting-auth-assurance small{color:var(--vote-workspace-muted);font-size:.67rem;line-height:1.4}
.voting-auth-assurance[hidden],.voting-auth-step .voting-form[hidden]{display:none}
.voting-auth-assurance:not([hidden]),.voting-auth-step .voting-form:not([hidden]){animation:votingIdentityConfirmed .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes votingIdentityConfirmed{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.voting-form button,.voting-ballot>button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:58px;border-radius:15px;color:var(--vote-accent-text);background:linear-gradient(135deg,var(--vote-accent),color-mix(in srgb,var(--vote-accent) 82%,#fff));box-shadow:0 13px 30px color-mix(in srgb,var(--vote-accent) 18%,transparent);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.voting-form button b,.voting-ballot>button b{font-size:1.25rem}
.voting-form button.is-loading{cursor:wait;filter:none;transform:none}
.voting-form button.is-loading b{width:19px;height:19px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;font-size:0;animation:votingSessionSpin .72s linear infinite}
@keyframes votingSessionSpin{to{transform:rotate(360deg)}}
.voting-form button:hover,.voting-form button:focus-visible,.voting-ballot>button:hover,.voting-ballot>button:focus-visible{outline:0;filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 17px 36px color-mix(in srgb,var(--vote-accent) 25%,transparent)}
.voting-form button.is-loading:is(:hover,:focus-visible){filter:none;transform:none}

.voting-context-row{align-items:center;padding-bottom:20px;border-color:var(--vote-workspace-line)}
.voting-context-row>div{display:grid;gap:5px;min-width:0}
.voting-context-row>div>strong{overflow:hidden;color:var(--vote-workspace-text);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}
.voting-current-voter{border-color:var(--vote-workspace-line-strong);background:color-mix(in srgb,var(--vote-workspace-accent) 9%,var(--vote-workspace-soft))}
.voting-current-voter>b.has-avatar{overflow:hidden;background:transparent}
.voting-current-voter>b.has-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.voting-current-voter small{color:var(--vote-workspace-muted)}
.voting-current-voter>i,.voting-current-voter>b:not(.has-avatar){background:var(--vote-workspace-accent)}
.voting-question-focus{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:24px;border:1px solid var(--vote-workspace-line-strong);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--vote-workspace-accent) 9%,var(--vote-workspace-soft)),var(--vote-workspace-soft));box-shadow:inset 4px 0 0 var(--vote-workspace-accent)}
.voting-question-focus>b{display:grid;width:58px;height:58px;place-items:center;border:1px solid var(--vote-workspace-line-strong);border-radius:17px;color:var(--vote-workspace-accent);background:color-mix(in srgb,var(--vote-workspace-accent) 9%,transparent);font-size:.82rem;letter-spacing:.08em}
.voting-question-focus>div{display:grid;gap:9px;min-width:0}
.voting-question-focus small{color:var(--vote-workspace-accent);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.voting-question-focus h2{max-width:850px;padding:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.2;letter-spacing:-.025em}
.voting-question-focus h2.is-long{max-width:980px;font-size:clamp(1.25rem,2.15vw,1.8rem);line-height:1.3;letter-spacing:-.016em}
.voting-question-focus h2.is-very-long{max-width:1040px;font-size:clamp(1.05rem,1.6vw,1.38rem);line-height:1.42;letter-spacing:-.008em}
.voting-question-focus .voting-pdf-button{display:inline-flex;align-items:center;gap:9px;width:max-content;max-width:100%;min-height:40px;margin-top:3px;padding:0 13px;border-color:color-mix(in srgb,var(--vote-workspace-accent) 48%,transparent);color:var(--vote-workspace-accent);background:color-mix(in srgb,var(--vote-workspace-accent) 8%,transparent);font-size:.72rem}
.voting-question-focus .voting-pdf-button>span{font-size:1rem}
.voting-question-focus .voting-pdf-button>.voting-attachment-copy,.voting-option-pdf>.voting-attachment-copy{display:grid;gap:2px;text-align:left}
.voting-question-focus .voting-pdf-button>.voting-attachment-copy{font-size:inherit}
.voting-attachment-copy strong{font-size:.74rem;line-height:1.2}
.voting-attachment-copy small{color:var(--vote-workspace-muted)!important;font-size:.62rem!important;font-weight:700!important;letter-spacing:0!important;line-height:1.3;text-transform:none!important}
.voting-option-pdf>.voting-attachment-copy strong{font-size:.72rem}
.voting-option-pdf>.voting-attachment-copy small{color:rgba(255,255,255,.68)!important}
.voting-choice-heading{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:2px}
.voting-choice-heading>span{color:var(--vote-workspace-text);font-size:.82rem;font-weight:900}
.voting-choice-heading>small{color:var(--vote-workspace-muted);font-size:.66rem}
.voting-ballot.is-meeting,.voting-ballot.is-custom{gap:14px}
.voting-meeting-choice span{background:color-mix(in srgb,var(--vote-workspace-soft) 86%,transparent)}
.voting-ballot-step{animation:votingWorkspaceIn .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes votingWorkspaceIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.voting-panel{position:relative;border-color:var(--vote-workspace-line,var(--vote-border));background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--vote-accent) 18%,transparent),transparent 32%),var(--vote-panel)}
.voting-panel::after{position:absolute;inset:0;content:"";pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px rgba(255,255,255,.05)}
.voting-panel-action{position:relative;z-index:1;min-width:118px;transition:transform .18s ease,box-shadow .18s ease}
.voting-panel-action:hover,.voting-panel-action:focus-visible{outline:0;transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--vote-accent) 22%,transparent)}

@media(max-width:760px){
  .voting-page-header{grid-template-columns:1fr auto;min-height:84px}
  .voting-page-header .voting-close{min-width:0}
  .voting-auth-heading{grid-template-columns:minmax(0,1fr);gap:14px}
  .voting-identity{grid-template-columns:54px minmax(0,1fr) 30px;gap:12px;padding:15px}
  .voting-identity-avatar{width:54px;height:54px;border-radius:15px}
  .voting-identity>i{width:28px;height:28px;box-shadow:none}
  .voting-question-focus{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:17px}
  .voting-question-focus>b{width:42px;height:42px;border-radius:13px}
  .voting-question-focus h2.is-long{font-size:clamp(1.12rem,4vw,1.42rem)}
  .voting-question-focus h2.is-very-long{font-size:clamp(.98rem,3.6vw,1.2rem);line-height:1.4}
  .voting-choice-heading{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:480px){
  .voting-page .voting-step{padding:18px 14px}
  .voting-auth-heading{grid-template-columns:1fr}
  .voting-identity{grid-template-columns:48px minmax(0,1fr)}
  .voting-identity-avatar{width:48px;height:48px}
  .voting-identity>i{display:none}
  .voting-auth-assurance{align-items:flex-start}
  .voting-question-focus{grid-template-columns:1fr}
  .voting-question-focus>b{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){.voting-ballot-step,.voting-auth-assurance:not([hidden]),.voting-auth-step .voting-form:not([hidden]){animation:none}.voting-form button,.voting-ballot>button,.voting-panel-action,.voting-identity{transition:none}.voting-form button.is-loading b{animation-duration:1.4s}}
.voting-ballot.is-meeting,.voting-meeting-choice,.voting-meeting-choice>span,.voting-custom-option,.voting-custom-option label,.voting-custom-option label>span{min-width:0}
.voting-meeting-choice>span{overflow:hidden}
.voting-custom-option label>span{overflow-wrap:anywhere}
@media(min-width:861px){
  .voting-dialog.is-pdf-open .voting-ballot.is-meeting{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .voting-dialog.is-pdf-open .voting-meeting-choice>span{grid-template-columns:1fr!important;align-content:center;justify-items:center;gap:7px;min-height:108px!important;padding:10px 7px!important;text-align:center;font-size:clamp(.7rem,1vw,.84rem);line-height:1.15}
  .voting-dialog.is-pdf-open .voting-meeting-choice>span>b{width:36px;height:36px;border-radius:10px;font-size:1.05rem}
}
@media(min-width:681px) and (max-width:1000px){
  .voting-ballot.is-meeting{gap:9px}
  .voting-meeting-choice>span{grid-template-columns:36px minmax(0,1fr);gap:8px;padding:10px!important;font-size:.78rem}
  .voting-meeting-choice>span>b{width:36px;height:36px;font-size:1.05rem}
}

/* Signature motion for the voting module. Colors follow the active theme;
   movement is intentionally fixed and cannot be customized by the user. */
.voting-page{isolation:isolate;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.voting-page:has(.secret-voting-step){overflow:hidden;overscroll-behavior:none}
.voting-page::before,.voting-page::after{position:fixed;z-index:-1;inset:-24vmax;content:"";pointer-events:none}
.voting-page::before{
  background:
    radial-gradient(circle at 22% 28%,color-mix(in srgb,var(--vote-workspace-accent) 25%,transparent) 0 7%,transparent 25%),
    radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--uis-card) 34%,transparent) 0 6%,transparent 24%),
    radial-gradient(circle at 66% 78%,color-mix(in srgb,var(--vote-workspace-accent) 16%,var(--uis-card) 7%,transparent) 0 8%,transparent 27%),
    conic-gradient(from 30deg at 50% 50%,transparent 0 24%,color-mix(in srgb,var(--vote-workspace-accent) 8%,transparent) 31%,transparent 40% 74%,color-mix(in srgb,var(--uis-card) 14%,transparent) 83%,transparent 91%);
  filter:blur(54px) saturate(1.18);
  opacity:.8;
  animation:votingAuroraOrbit 22s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}
.voting-page::after{
  inset:0;
  background-image:
    radial-gradient(circle,color-mix(in srgb,var(--vote-workspace-accent) 48%,transparent) 0 1px,transparent 1.5px),
    linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--vote-workspace-accent) 7%,transparent) 49%,transparent 63%);
  background-position:0 0,-35vw 0;
  background-size:74px 74px,70vw 100%;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.58),transparent 78%);
  opacity:.22;
  animation:votingStarDrift 28s linear infinite;
}
.voting-page .voting-dialog{position:relative;z-index:1;animation:votingSignatureReveal .72s cubic-bezier(.16,1,.3,1) both}
.voting-page .voting-step{position:relative;isolation:isolate;overflow:hidden}
.voting-page .voting-step>*{position:relative;z-index:1}
.voting-page .voting-step::before{
  position:absolute;
  z-index:0;
  inset:-1px;
  content:"";
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(112deg,transparent 12%,color-mix(in srgb,var(--vote-workspace-accent) 12%,transparent) 38%,transparent 60%);
  background-size:220% 100%;
  opacity:.7;
  animation:votingSurfaceSheen 9s ease-in-out infinite;
}
@keyframes votingAuroraOrbit{
  0%{transform:translate3d(-3%,-2%,0) rotate(-5deg) scale(.96)}
  45%{transform:translate3d(4%,-1%,0) rotate(3deg) scale(1.04)}
  100%{transform:translate3d(-1%,5%,0) rotate(9deg) scale(1)}
}
@keyframes votingStarDrift{
  to{background-position:74px 74px,105vw 0}
}
@keyframes votingSignatureReveal{
  from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(8px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes votingSurfaceSheen{
  0%,25%{background-position:120% 0;opacity:0}
  42%{opacity:.7}
  68%,100%{background-position:-120% 0;opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .voting-page::before,.voting-page::after,.voting-page .voting-dialog,.voting-page .voting-step::before{animation:none!important}
  .voting-page::before{transform:none;opacity:.48}
}

/* Secret poll workspace: the page remains stable while the candidate area scrolls. */
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step){display:grid!important;width:min(1120px,100%)!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;grid-template-rows:auto minmax(0,1fr);overflow:hidden!important;padding-bottom:20px}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .voting-page-header{margin-bottom:16px}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step)>#votingDialogBody{width:min(920px,100%);height:100%;min-height:0;overflow:hidden}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-voting-step{height:100%;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;padding:clamp(18px,2.5vw,30px);overflow:hidden}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .voting-ballot-head h2{font-size:clamp(1.65rem,3.2vw,2.55rem)}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-voting-notice{padding:11px 13px}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .voting-ballot.is-secret{height:auto!important;min-height:0!important;grid-template-rows:auto auto auto auto;overflow:hidden!important}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-candidate-list{
  height:clamp(190px,calc(100dvh - 540px),500px)!important;
  min-height:190px!important;
  max-height:500px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  padding:3px 8px 3px 3px;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--vote-workspace-accent) 48%,transparent) transparent;
  scrollbar-gutter:stable;
}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-candidate-list::-webkit-scrollbar{width:10px}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-candidate-list::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--vote-workspace-accent) 48%,transparent);background-clip:padding-box}
.voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .voting-ballot.is-secret>button{position:static;z-index:4;box-shadow:0 12px 28px rgba(0,0,0,.24)}
@media(max-width:680px){
  .voting-page .voting-dialog.is-secret-open:has(.secret-voting-step){padding-bottom:10px!important}
  .voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .voting-page-header{margin-bottom:10px}
  .voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-voting-step{gap:10px;padding:13px 10px}
  .voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-candidate-list{grid-template-columns:1fr!important;height:clamp(170px,calc(100dvh - 455px),440px)!important;min-height:170px!important;max-height:440px!important;padding-right:5px}
  .voting-page .voting-dialog.is-secret-open:has(.secret-voting-step) .secret-voting-notice span{font-size:.72rem}
}
