.voting-panel {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(138, 38, 59, .22);
    border-radius: 22px;
    color: #fffaf0;
    background: radial-gradient(circle at 85% 10%, rgba(243, 212, 138, .2), transparent 28%), linear-gradient(135deg, #171615, #3b1820);
    box-shadow: 0 20px 48px rgba(23, 22, 21, .2);
    overflow: hidden
}

.voting-panel-mark {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 18px;
    color: #171615;
    background: #f3d48a;
    font-size: 1.6rem;
    font-weight: 950;
    animation: votingPulse 2.4s ease-in-out infinite
}

.voting-panel-copy {
    display: grid;
    gap: 4px
}

.voting-panel-copy p,
.voting-kicker {
    margin: 0;
    color: #f3d48a;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase
}

.voting-panel-copy h3 {
    margin: 0;
    font-size: 1.35rem
}

.voting-panel-copy strong {
    font-size: .98rem
}

.voting-panel-copy span {
    color: rgba(255, 250, 240, .7);
    font-size: .86rem
}

.voting-panel-action,
.voting-form button,
.voting-ballot button,
.voting-minutes,
.voting-success button {
    min-height: 44px;
    padding: 0 17px;
    border: 0;
    border-radius: 12px;
    color: #171615;
    background: #f3d48a;
    font-weight: 900;
    cursor: pointer
}

.voting-backdrop {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(8, 8, 8, .72);
    backdrop-filter: blur(10px)
}

.voting-backdrop[hidden] {
    display: none
}

.voting-dialog {
    position: relative;
    width: min(680px, 100%);
    max-height: calc(100dvh - 32px);
    overflow: auto;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;
    color: #fffaf0;
    background: linear-gradient(145deg, #171615, #2b2020);
    box-shadow: 0 32px 90px rgba(0, 0, 0, .42);
    animation: votingIn .28s ease both
}

.voting-close {
    position: absolute;
    top: 13px;
    right: 13px;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    font-size: 1.4rem;
    cursor: pointer
}

.voting-step {
    display: grid;
    gap: 18px
}

.voting-step h2 {
    margin: 0;
    padding-right: 42px;
    font-size: clamp(1.6rem, 4vw, 2.4rem)
}

.voting-step>p {
    margin: 0;
    color: rgba(255, 250, 240, .72);
    line-height: 1.6
}

.voting-form {
    display: grid;
    gap: 14px
}

.voting-form label {
    display: grid;
    gap: 6px;
    font-weight: 800
}

.voting-form input {
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font: inherit
}

.voting-error {
    min-height: 20px !important;
    color: #ff9ba8 !important;
    font-weight: 800
}

.voting-ballot {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.voting-ballot label {
    cursor: pointer
}

.voting-ballot input {
    position: absolute;
    opacity: 0
}

.voting-ballot label span {
    display: grid;
    min-height: 76px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 15px;
    font-weight: 900;
    background: rgba(255, 255, 255, .05)
}

.voting-ballot input:checked+span {
    color: #171615;
    border-color: #f3d48a;
    background: #f3d48a;
    transform: translateY(-2px)
}

.voting-ballot button,
.voting-ballot .voting-error {
    grid-column: 1/-1
}

.voting-result-list {
    display: grid;
    gap: 7px
}

.voting-result-list>div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 13px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .06)
}

.voting-result-list span {
    color: #f3d48a;
    font-weight: 900
}

.voting-chart {
    display: grid;
    gap: 12px
}

.voting-chart>div {
    display: grid;
    gap: 5px
}

.voting-chart span {
    display: flex;
    justify-content: space-between;
    font-size: .82rem;
    font-weight: 850
}

.voting-chart i {
    height: 12px;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(255, 255, 255, .08)
}

.voting-chart b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0f766e, #79cbb8);
    transition: width .7s ease
}

.voting-decision {
    padding: 13px;
    border-radius: 12px;
    background: rgba(179, 38, 30, .2)
}

.voting-decision.is-adopted {
    color: #a9ead2;
    background: rgba(25, 117, 72, .2)
}

.voting-success {
    text-align: center;
    place-items: center
}

.voting-success>div {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border-radius: 50%;
    color: #171615;
    background: #79cbb8;
    font-size: 2rem
}

.voting-open {
    overflow: hidden
}

@keyframes votingIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.98)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes votingPulse {
    50% {
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(243, 212, 138, .22)
    }
}

@media(max-width:680px) {
    .voting-panel {
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 17px
    }

    .voting-panel-mark {
        width: 48px;
        height: 48px
    }

    .voting-panel-action {
        grid-column: 1/-1;
        width: 100%
    }

    .voting-dialog {
        padding: 25px 20px
    }

    .voting-ballot {
        grid-template-columns: 1fr
    }

    .voting-ballot button,
    .voting-ballot .voting-error {
        grid-column: auto
    }
}

.voting-panel {
    animation: votingIn .38s ease both
}

.voting-ballot label.is-yes input:checked+span {
    color: #fff;
    border-color: #197548;
    background: #197548
}

.voting-ballot label.is-no input:checked+span {
    color: #fff;
    border-color: #b3261e;
    background: #b3261e
}

.voting-ballot label.is-abstain input:checked+span {
    color: #171615;
    border-color: #e4b83f;
    background: #f3d48a
}

.voting-result-list span.is-yes {
    color: #79d4a4
}

.voting-result-list span.is-no {
    color: #ff8995
}

.voting-result-list span.is-abstain {
    color: #f3d48a
}

.voting-chart i.is-yes b {
    background: #197548
}

.voting-chart i.is-no b {
    background: #b3261e
}

.voting-chart i.is-abstain b {
    background: #e4b83f
}

.voting-question-result {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035)
}

.voting-question-result h3 {
    margin: 0;
    line-height: 1.4
}

.voting-result-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.voting-result-summary>span {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    font-size: .8rem
}

.voting-result-summary .has-missing {
    color: #ff9ba8;
    background: rgba(179, 38, 30, .18)
}

.voting-result-summary .is-complete {
    color: #9de0bd;
    background: rgba(25, 117, 72, .18)
}

.voting-voter-details {
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: rgba(0, 0, 0, .12)
}

.voting-voter-details summary {
    padding: 12px 14px;
    color: #f3d48a;
    font-size: .86rem;
    font-weight: 850;
    cursor: pointer
}

.voting-voter-details .voting-result-list {
    max-height: 260px;
    overflow-y: auto;
    padding: 0 10px 10px;
    scrollbar-color: rgba(243, 212, 138, .4) transparent
}

.voting-result-list .did-not-vote {
    background: rgba(179, 38, 30, .12)
}

.voting-result-list .did-not-vote span {
    color: #ff9ba8;
    font-size: .72rem;
    font-weight: 900
}

.voting-result-summary .is-private {
    color: var(--vote-accent);
    background: color-mix(in srgb, var(--vote-accent) 12%, transparent)
}

.voting-chart-row>span>b {
    display: inline;
    height: auto;
    border-radius: 0;
    background: none;
    transition: none;
    font: inherit
}

.voting-chart-row.is-yes>span {
    color: #79d4a4
}

.voting-chart-row.is-no>span {
    color: #ff8995
}

.voting-chart-row.is-abstain>span {
    color: #f3d48a
}

.voting-audit-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-height: 62px;
    padding: 11px 14px;
    border: 1px solid var(--vote-border);
    border-radius: 14px;
    color: var(--vote-text);
    background: var(--vote-surface);
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease
}

.voting-audit-trigger:hover {
    border-color: color-mix(in srgb, var(--vote-accent) 56%, transparent);
    background: var(--vote-surface-strong);
    transform: translateY(-1px)
}

.voting-audit-trigger>span {
    display: grid;
    gap: 3px
}

.voting-audit-trigger b {
    font-size: .88rem
}

.voting-audit-trigger small {
    color: var(--vote-muted);
    font-size: .72rem
}

.voting-audit-trigger>i {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 10px;
    color: var(--vote-accent-text);
    background: var(--vote-accent);
    font-style: normal;
    font-weight: 950
}

.voting-audit-modal {
    position: fixed;
    z-index: 1300;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px
}

.voting-audit-dismiss {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(3, 8, 7, .78);
    backdrop-filter: blur(9px);
    cursor: default
}

.voting-audit-card {
    position: relative;
    display: grid;
    width: min(720px, 100%);
    max-height: min(760px, calc(100dvh - 48px));
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--vote-border);
    border-radius: 24px;
    color: var(--vote-text);
    background: var(--vote-dialog);
    box-shadow: 0 34px 100px rgba(0, 0, 0, .55);
    animation: votingAuditIn .24s cubic-bezier(.2, .8, .25, 1) both
}

.voting-audit-card>header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 24px 18px;
    border-bottom: 1px solid var(--vote-border)
}

.voting-audit-card>header>div {
    display: grid;
    gap: 5px
}

.voting-audit-card header p {
    margin: 0;
    color: var(--vote-accent);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase
}

.voting-audit-card h3 {
    margin: 0;
    font-size: clamp(1.08rem, 2.5vw, 1.45rem);
    line-height: 1.35
}

.voting-audit-card header button {
    display: grid;
    width: 38px;
    height: 38px;
    flex: none;
    place-items: center;
    border: 1px solid var(--vote-border);
    border-radius: 11px;
    color: var(--vote-text);
    background: var(--vote-surface);
    font-size: 1.35rem;
    cursor: pointer
}

.voting-audit-meta {
    display: flex;
    gap: 8px;
    padding: 14px 24px
}

.voting-audit-meta span {
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--vote-muted);
    background: var(--vote-surface);
    font-size: .73rem
}

.voting-audit-meta b {
    color: var(--vote-text);
    font-size: .88rem
}

.voting-audit-list {
    display: grid;
    gap: 7px;
    overflow-y: auto;
    padding: 0 24px 24px;
    scrollbar-color: color-mix(in srgb, var(--vote-accent) 40%, transparent) transparent
}

.voting-audit-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--vote-border) 72%, transparent);
    border-radius: 13px;
    background: var(--vote-surface)
}

.voting-audit-row.did-not-vote {
    opacity: .76
}

.voting-audit-avatar {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    color: var(--vote-text);
    background: var(--vote-surface-strong);
    font-size: .68rem;
    font-weight: 950
}

.voting-audit-row>strong {
    font-size: .84rem
}

.voting-vote-badge {
    min-width: 94px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
    text-align: center;
    text-transform: uppercase
}

.voting-vote-badge.is-yes {
    color: #c9f6dc;
    background: rgba(25, 117, 72, .48)
}

.voting-vote-badge.is-no {
    color: #ffd2d7;
    background: rgba(179, 38, 30, .48)
}

.voting-vote-badge.is-abstain {
    color: #241b05;
    background: #f3d48a
}

.voting-vote-badge.is-custom-0 {
    color: #c9f6dc;
    background: rgba(25, 117, 72, .48)
}

.voting-vote-badge.is-custom-1 {
    color: #dbeaff;
    background: rgba(41, 95, 158, .55)
}

.voting-vote-badge.is-custom-2 {
    color: #241b05;
    background: #f3d48a
}

.voting-vote-badge.is-missing {
    color: #ffbec6;
    background: rgba(179, 38, 30, .2)
}

.voting-audit-private {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: start;
    gap: 13px;
    margin-bottom: 5px;
    padding: 15px;
    border: 1px solid color-mix(in srgb, #79cbb8 42%, transparent);
    border-radius: 14px;
    background: rgba(121, 203, 184, .09)
}

.voting-audit-private>span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    color: #17201e;
    background: #79cbb8;
    font-weight: 950
}

.voting-audit-private strong {
    display: block;
    margin-bottom: 4px
}

.voting-audit-private p,
.voting-audit-empty {
    margin: 0;
    color: var(--vote-muted);
    font-size: .8rem;
    line-height: 1.5
}

@keyframes votingAuditIn {
    from {
        opacity: 0;
        transform: translateY(22px) scale(.975)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media(max-width:620px) {
    .voting-audit-modal {
        align-items: end;
        padding: 0
    }

    .voting-audit-card {
        width: 100%;
        max-height: 88dvh;
        border-radius: 22px 22px 0 0
    }

    .voting-audit-card>header {
        padding: 20px 16px 15px
    }

    .voting-audit-meta {
        padding: 12px 16px
    }

    .voting-audit-list {
        padding: 0 16px max(20px, env(safe-area-inset-bottom))
    }

    .voting-audit-row {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 9px
    }

    .voting-audit-avatar {
        width: 36px;
        height: 36px
    }

    .voting-vote-badge {
        grid-column: 2;
        justify-self: start;
        min-width: 0
    }

    .voting-audit-private {
        grid-template-columns: 36px 1fr
    }

    .voting-audit-private>span {
        width: 36px;
        height: 36px
    }
}

.voting-pdf-button {
    width: fit-content;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(243, 212, 138, .45);
    border-radius: 11px;
    color: #f3d48a;
    background: rgba(243, 212, 138, .08);
    font-weight: 900;
    cursor: pointer
}

.voting-pdf-viewer {
    position: absolute;
    z-index: 5;
    inset: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    border-radius: 24px;
    background: #171615
}

.voting-pdf-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    color: #fff;
    background: #242221
}

.voting-pdf-toolbar button {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font-size: 1.4rem;
    cursor: pointer
}

.voting-pdf-viewer iframe {
    width: 100%;
    height: 100%;
    min-height: 65vh;
    border: 0;
    background: #fff
}

.voting-ballot.is-custom {
    grid-template-columns: 1fr
}

.voting-custom-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px
}

.voting-custom-option label span {
    min-height: 62px
}

.voting-custom-option label.is-custom-0 input:checked+span {
    color: #fff;
    border-color: #197548;
    background: #197548
}

.voting-custom-option label.is-custom-1 input:checked+span {
    color: #fff;
    border-color: #295f9e;
    background: #295f9e
}

.voting-custom-option label.is-custom-2 input:checked+span {
    color: #171615;
    border-color: #e4b83f;
    background: #f3d48a
}

.voting-option-pdf {
    padding: 0 12px;
    border: 1px solid rgba(243, 212, 138, .38);
    border-radius: 12px;
    color: #f3d48a;
    background: rgba(243, 212, 138, .07);
    font-weight: 850;
    cursor: pointer
}

@media(max-width:680px) {
    .voting-custom-option {
        grid-template-columns: 1fr
    }

    .voting-option-pdf {
        min-height: 40px
    }
}

.voting-chart i.is-custom-0 b {
    background: #197548
}

.voting-chart i.is-custom-1 b {
    background: #295f9e
}

.voting-chart i.is-custom-2 b {
    background: #e4b83f
}

.voting-ballot.is-custom {
    gap: 14px
}

.voting-custom-option {
    position: relative;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 0;
    padding: 5px;
    border: 1px solid var(--option-border);
    border-radius: 17px;
    background: linear-gradient(135deg, var(--option-bg), rgba(255, 255, 255, .025));
    box-shadow: inset 4px 0 0 var(--option-accent);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease
}

.voting-custom-option.is-custom-0 {
    --option-accent: #37a66d;
    --option-border: rgba(55, 166, 109, .38);
    --option-bg: rgba(25, 117, 72, .12)
}

.voting-custom-option.is-custom-1 {
    --option-accent: #5d91d1;
    --option-border: rgba(93, 145, 209, .4);
    --option-bg: rgba(41, 95, 158, .13)
}

.voting-custom-option.is-custom-2 {
    --option-accent: #e4b83f;
    --option-border: rgba(228, 184, 63, .4);
    --option-bg: rgba(228, 184, 63, .1)
}

.voting-custom-option:hover,
.voting-custom-option:focus-within {
    transform: translateY(-2px);
    border-color: var(--option-accent);
    box-shadow: inset 4px 0 0 var(--option-accent), 0 12px 28px rgba(0, 0, 0, .18)
}

.voting-custom-option label span {
    min-height: 68px;
    border: 0 !important;
    border-radius: 13px !important;
    background: transparent !important;
    justify-content: start;
    padding: 0 18px;
    text-align: left;
    font-size: 1.02rem
}

.voting-custom-option label input:checked+span {
    color: #fff !important;
    background: var(--option-accent) !important;
    box-shadow: 0 8px 20px color-mix(in srgb, var(--option-accent) 24%, transparent)
}

.voting-custom-option.is-custom-2 label input:checked+span {
    color: #171615 !important
}

.voting-option-pdf {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 58px;
    margin: 5px;
    padding: 7px 11px;
    border: 1px solid var(--option-border);
    border-radius: 12px;
    color: #fff;
    background: rgba(0, 0, 0, .18);
    text-align: left
}

.voting-option-pdf b {
    display: grid;
    width: 38px;
    height: 32px;
    place-items: center;
    border-radius: 8px;
    color: #171615;
    background: var(--option-accent);
    font-size: .7rem;
    letter-spacing: .04em
}

.voting-option-pdf span {
    font-size: .77rem;
    font-weight: 800;
    line-height: 1.2
}

.voting-option-pdf:hover,
.voting-option-pdf:focus-visible {
    border-color: var(--option-accent);
    background: rgba(255, 255, 255, .075);
    outline: none
}

@media(max-width:680px) {
    .voting-custom-option {
        grid-template-columns: 1fr;
        padding: 6px
    }

    .voting-custom-option label span {
        min-height: 62px;
        justify-content: center;
        padding: 0 13px;
        text-align: center
    }

    .voting-option-pdf {
        grid-template-columns: 34px minmax(0, 1fr);
        min-height: 48px;
        margin: 0 5px 5px
    }

    .voting-option-pdf b {
        width: 34px;
        height: 28px
    }

    .voting-option-pdf span {
        font-size: .74rem
    }
}

.voting-dialog {
    width: min(920px, 100%)
}

@media(min-width:861px) {
    .voting-dialog.is-pdf-open {
        display: grid;
        width: min(1480px, calc(100vw - 40px));
        height: min(900px, calc(100dvh - 40px));
        max-height: none;
        grid-template-columns: minmax(430px, .78fr) minmax(620px, 1.22fr);
        padding: 0;
        overflow: hidden
    }

    .voting-dialog.is-pdf-open>.voting-close {
        z-index: 8;
        top: 14px;
        right: 14px
    }

    .voting-dialog.is-pdf-open>#votingDialogBody {
        min-width: 0;
        overflow-y: auto;
        padding: 36px 30px;
        border-right: 1px solid rgba(255, 255, 255, .1)
    }

    .voting-dialog.is-pdf-open .voting-pdf-viewer {
        position: static;
        min-width: 0;
        height: 100%;
        border-radius: 0;
        background: #202020
    }

    .voting-dialog.is-pdf-open .voting-pdf-toolbar {
        min-height: 68px;
        padding: 12px 70px 12px 18px
    }

    .voting-dialog.is-pdf-open .voting-pdf-viewer iframe {
        height: 100%;
        min-height: 0
    }

    .voting-dialog.is-pdf-open .voting-custom-option {
        grid-template-columns: 1fr
    }

    .voting-dialog.is-pdf-open .voting-option-pdf {
        grid-template-columns: 34px minmax(0, 1fr);
        min-height: 48px;
        margin: 0 5px 5px
    }

    .voting-dialog.is-pdf-open .voting-option-pdf b {
        width: 34px;
        height: 28px
    }
}

@media(max-width:860px) {
    .voting-dialog {
        width: min(680px, 100%)
    }

    .voting-pdf-viewer {
        position: absolute;
        inset: 0
    }

    .voting-pdf-viewer iframe {
        min-height: 65vh
    }
}

.voting-dialog.is-pdf-open>.voting-close {
    display: none
}

.voting-decision.is-no-quorum {
    color: #fff;
    border: 1px solid rgba(255, 115, 125, .55);
    background: linear-gradient(135deg, rgba(179, 38, 30, .72), rgba(112, 20, 27, .86));
    font-weight: 950;
    letter-spacing: .025em;
    line-height: 1.55;
    box-shadow: 0 12px 28px rgba(179, 38, 30, .2)
}

.voting-ballot.is-meeting {
    gap: 14px
}

.voting-meeting-choice span {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 92px !important;
    padding: 12px 18px !important;
    border-width: 1px !important;
    border-style: solid !important;
    font-size: 1rem;
    letter-spacing: .02em;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease
}

.voting-meeting-choice span b {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    font-size: 1.35rem
}

.voting-meeting-choice.is-yes span {
    color: #9de0bd;
    border-color: rgba(55, 166, 109, .42);
    background: linear-gradient(135deg, rgba(25, 117, 72, .2), rgba(25, 117, 72, .06))
}

.voting-meeting-choice.is-yes span b {
    color: #fff;
    background: #197548
}

.voting-meeting-choice.is-no span {
    color: #ff9ba8;
    border-color: rgba(204, 65, 75, .42);
    background: linear-gradient(135deg, rgba(179, 38, 30, .2), rgba(179, 38, 30, .06))
}

.voting-meeting-choice.is-no span b {
    color: #fff;
    background: #b3261e
}

.voting-meeting-choice.is-abstain span {
    color: #f3d48a;
    border-color: rgba(228, 184, 63, .42);
    background: linear-gradient(135deg, rgba(228, 184, 63, .18), rgba(228, 184, 63, .05))
}

.voting-meeting-choice.is-abstain span b {
    color: #171615;
    background: #e4b83f
}

.voting-meeting-choice:hover span,
.voting-meeting-choice:focus-within span {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .18)
}

.voting-meeting-choice input:checked+span {
    transform: translateY(-3px);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .12), 0 16px 32px rgba(0, 0, 0, .24)
}

.voting-meeting-choice.is-yes input:checked+span {
    color: #fff !important;
    border-color: #37a66d !important;
    background: #197548 !important
}

.voting-meeting-choice.is-no input:checked+span {
    color: #fff !important;
    border-color: #d45b65 !important;
    background: #b3261e !important
}

.voting-meeting-choice.is-abstain input:checked+span {
    color: #171615 !important;
    border-color: #f3d48a !important;
    background: #e4b83f !important
}

.voting-meeting-choice input:checked+span b {
    background: rgba(255, 255, 255, .2)
}

@media(max-width:680px) {
    .voting-ballot.is-meeting {
        grid-template-columns: 1fr
    }

    .voting-meeting-choice span {
        min-height: 70px !important;
        grid-template-columns: 36px minmax(0, 1fr);
        padding: 9px 13px !important
    }

    .voting-meeting-choice span b {
        width: 36px;
        height: 36px
    }
}

.home-dashboard>.highlight-notice.is-voting-full-width {
    width: 100%;
    max-width: none
}

.board-priority-zone {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px
}

.board-priority-zone.has-highlight {
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr)
}

.board-priority-zone>.voting-panel,
.board-priority-zone>.highlight-notice {
    height: 100%;
    min-height: 174px
}

.board-priority-zone .highlight-notice.is-voting-priority {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 20px;
    border-radius: 22px
}

.board-priority-zone .highlight-notice.is-voting-priority .highlight-mark {
    width: 58px;
    height: 58px
}

.board-priority-zone .highlight-notice.is-voting-priority .highlight-mark svg {
    width: 26px;
    height: 26px
}

.board-priority-zone .highlight-notice.is-voting-priority h3 {
    font-size: 1.35rem
}

.board-priority-zone .highlight-notice.is-voting-priority .text-lines {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 7px;
    font-size: .88rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.board-priority-zone .highlight-notice.is-voting-priority .highlight-topline {
    gap: 5px;
    margin-bottom: 6px
}

.board-priority-zone .highlight-notice.is-voting-priority :is(.highlight-label, .highlight-badge, .highlight-date) {
    min-height: 23px;
    padding: 2px 7px;
    font-size: .65rem
}

.board-priority-zone .highlight-notice.is-voting-priority .actions-row {
    margin-top: 9px
}

@media(max-width:1100px) {
    .board-priority-zone.has-highlight {
        grid-template-columns: 1fr 1fr
    }

    .board-priority-zone .voting-panel {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 13px;
        padding: 18px
    }

    .board-priority-zone .voting-panel-mark {
        width: 50px;
        height: 50px
    }

    .board-priority-zone .voting-panel-action {
        grid-column: 1/-1;
        width: 100%
    }
}

@media(max-width:760px) {
    .board-priority-zone.has-highlight {
        grid-template-columns: 1fr
    }

    .board-priority-zone>.voting-panel,
    .board-priority-zone>.highlight-notice {
        min-height: 0
    }

    .board-priority-zone .highlight-notice.is-voting-priority {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 12px;
        padding: 16px
    }

    .board-priority-zone .highlight-notice.is-voting-priority .highlight-mark {
        width: 48px;
        height: 48px
    }

    .board-priority-zone .highlight-notice.is-voting-priority .highlight-date {
        display: none
    }

    .board-priority-zone .highlight-notice.is-voting-priority h3 {
        font-size: 1.12rem
    }

    .board-priority-zone .highlight-notice.is-voting-priority .text-lines {
        font-size: .8rem;
        -webkit-line-clamp: 2
    }
}

.voting-live-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 5px 0 3px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .035em
}

.voting-live-status b {
    padding: 3px 7px;
    border-radius: 999px;
    color: #171615;
    background: #f3d48a;
    font-size: .65rem;
    letter-spacing: .08em
}

.voting-live-status.no-quorum {
    color: #ffb4bb;
    border-color: rgba(212, 91, 101, .46);
    background: rgba(179, 38, 30, .16)
}

.voting-live-status.no-quorum b {
    color: #fff;
    background: #b3261e
}

.voting-live-status.has-quorum {
    color: #a9ead2;
    border-color: rgba(55, 166, 109, .42);
    background: rgba(25, 117, 72, .16)
}

.voting-live-status.has-quorum b {
    color: #fff;
    background: #197548
}

.voting-live-status.is-loading,
.voting-live-status.is-offline {
    color: rgba(255, 250, 240, .68)
}

@media(max-width:680px) {
    .voting-live-status {
        width: 100%;
        border-radius: 12px;
        line-height: 1.4
    }

    .voting-live-status span {
        flex: 1 1 180px
    }
}

.voting-period {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 2px
}

.voting-panel-copy .voting-opened-at {
    font-size: .74rem
}

.voting-panel-copy .voting-deadline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    padding: 5px 9px;
    border: 1px solid color-mix(in srgb, var(--vote-accent, #f3d48a) 50%, transparent);
    border-radius: 9px;
    color: var(--vote-text, #fffaf0);
    background: color-mix(in srgb, var(--vote-accent, #f3d48a) 12%, transparent);
    font-size: .75rem;
    letter-spacing: .02em
}

.voting-deadline b {
    color: var(--vote-accent, #f3d48a);
    font-size: .66rem;
    letter-spacing: .08em
}

.voting-panel-copy .voting-deadline span {
    color: inherit;
    font-size: inherit;
    font-weight: 950
}

@media(max-width:680px) {
    .voting-period {
        align-items: flex-start;
        flex-direction: column
    }

    .voting-panel-copy .voting-deadline {
        white-space: normal
    }
}

.voting-custom-winner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(243, 212, 138, .38);
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, rgba(243, 212, 138, .14), rgba(243, 212, 138, .045))
}

.voting-custom-winner span {
    color: #f3d48a;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase
}

.voting-custom-winner strong {
    text-align: right;
    font-size: 1rem
}

@media(max-width:680px) {
    .voting-custom-winner {
        align-items: flex-start;
        flex-direction: column
    }

    .voting-custom-winner strong {
        text-align: left
    }
}

body[data-theme="cosmos"] {
    --vote-overlay: rgba(3, 7, 6, .76);
    --vote-dialog: linear-gradient(145deg, #171615, #2b2020);
    --vote-panel: radial-gradient(circle at 85% 10%, rgba(243, 212, 138, .2), transparent 28%), linear-gradient(135deg, #171615, #3b1820);
    --vote-surface: rgba(255, 255, 255, .055);
    --vote-surface-strong: rgba(255, 255, 255, .085);
    --vote-border: rgba(255, 255, 255, .14);
    --vote-text: #fffaf0;
    --vote-muted: rgba(255, 250, 240, .72);
    --vote-accent: #f3d48a;
    --vote-accent-text: #171615;
    --vote-shadow: rgba(0, 0, 0, .44)
}

body[data-theme="aurora"] {
    --vote-overlay: rgba(12, 34, 31, .72);
    --vote-dialog: linear-gradient(145deg, #173a35, #294f48 52%, #543846);
    --vote-panel: radial-gradient(circle at 84% 8%, rgba(246, 213, 138, .26), transparent 30%), linear-gradient(135deg, #173a35, #3d665b 55%, #754c5a);
    --vote-surface: rgba(255, 250, 240, .09);
    --vote-surface-strong: rgba(255, 250, 240, .14);
    --vote-border: rgba(255, 238, 203, .24);
    --vote-text: #fffaf0;
    --vote-muted: rgba(255, 250, 240, .8);
    --vote-accent: #f6d58a;
    --vote-accent-text: #1b2924;
    --vote-shadow: rgba(16, 43, 39, .38)
}

body[data-theme="dusk"] {
    --vote-overlay: rgba(4, 9, 13, .8);
    --vote-dialog: linear-gradient(145deg, #0b1820, #172b36 54%, #32182d);
    --vote-panel: radial-gradient(circle at 86% 10%, rgba(155, 211, 232, .2), transparent 30%), linear-gradient(135deg, #09171e, #183744 55%, #4a2140);
    --vote-surface: rgba(219, 235, 244, .065);
    --vote-surface-strong: rgba(219, 235, 244, .11);
    --vote-border: rgba(202, 222, 233, .22);
    --vote-text: #f3fbff;
    --vote-muted: rgba(226, 240, 247, .75);
    --vote-accent: #9bd3e8;
    --vote-accent-text: #071217;
    --vote-shadow: rgba(2, 7, 10, .52)
}

body[data-theme="christmas"] {
    --vote-overlay: rgba(4, 20, 15, .82);
    --vote-dialog: linear-gradient(145deg, #0d2b20, #174735 55%, #5b1724);
    --vote-panel: radial-gradient(circle at 84% 8%, rgba(250, 220, 145, .24), transparent 30%), linear-gradient(135deg, #103326, #1d5941 55%, #761e2d);
    --vote-surface: rgba(255, 250, 240, .075);
    --vote-surface-strong: rgba(255, 250, 240, .12);
    --vote-border: rgba(255, 231, 174, .22);
    --vote-text: #fffaf0;
    --vote-muted: rgba(255, 244, 218, .76);
    --vote-accent: #f3d48a;
    --vote-accent-text: #173126;
    --vote-shadow: rgba(2, 18, 12, .5)
}

.voting-backdrop {
    background: var(--vote-overlay);
}

.voting-dialog {
    color: var(--vote-text);
    background: var(--vote-dialog);
    box-shadow: 0 32px 90px var(--vote-shadow)
}

.voting-panel {
    color: var(--vote-text);
    background: var(--vote-panel);
    border-color: var(--vote-border)
}

.voting-panel-copy span,
.voting-step>p {
    color: var(--vote-muted)
}

.voting-panel-copy p,
.voting-kicker {
    color: var(--vote-accent)
}

.voting-panel-mark,
.voting-panel-action,
.voting-form button,
.voting-ballot>button,
.voting-minutes,
.voting-success button {
    color: var(--vote-accent-text);
    background: var(--vote-accent)
}

.voting-close,
.voting-pdf-toolbar button {
    color: var(--vote-text);
    border-color: var(--vote-border);
    background: var(--vote-surface)
}

.voting-form input {
    color: var(--vote-text);
    border-color: var(--vote-border);
    background: var(--vote-surface)
}

.voting-question-result,
.voting-voter-details {
    border-color: var(--vote-border);
    background: var(--vote-surface)
}

.voting-result-list>div {
    background: var(--vote-surface)
}

.voting-voter-details summary,
.voting-custom-winner span {
    color: var(--vote-accent)
}

.voting-custom-winner {
    color: var(--vote-text);
    border-color: color-mix(in srgb, var(--vote-accent) 45%, transparent);
    background: color-mix(in srgb, var(--vote-accent) 12%, transparent)
}

.voting-pdf-toolbar {
    color: var(--vote-text);
    background: color-mix(in srgb, var(--vote-dialog) 86%, #000)
}

body[data-theme="cosmos"] .voting-pdf-toolbar {
    background: #242221
}

body[data-theme="aurora"] .voting-pdf-toolbar {
    background: #24483f
}

body[data-theme="dusk"] .voting-pdf-toolbar {
    background: #132631
}

body[data-theme="christmas"] .voting-pdf-toolbar {
    background: #174331
}

.voting-identity {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(121, 203, 184, .24);
    border-radius: 15px;
    background: rgba(121, 203, 184, .08)
}

.voting-identity>span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    color: #171615;
    background: #79cbb8;
    font-size: 1.25rem;
    font-weight: 950
}

.voting-identity div {
    display: grid;
    gap: 2px
}

.voting-identity small {
    color: rgba(255, 250, 240, .58);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.voting-identity strong {
    font-size: 1.08rem
}

.voting-identity p {
    margin: 0;
    color: #f3d48a;
    font-size: .75rem;
    font-weight: 850;
    text-transform: uppercase
}

#votingDialogBody {
    transition: opacity .19s ease, transform .19s ease, filter .19s ease
}

#votingDialogBody.is-leaving {
    opacity: 0;
    transform: translateX(-26px);
    filter: blur(3px)
}

#votingDialogBody.is-entering {
    animation: votingQuestionIn .36s cubic-bezier(.2, .8, .25, 1) both
}

#votingDialogBody.is-entering.is-back {
    animation-name: votingQuestionBackIn
}

@keyframes votingQuestionIn {
    from {
        opacity: 0;
        transform: translateX(34px);
        filter: blur(4px)
    }

    to {
        opacity: 1;
        transform: none;
        filter: none
    }
}

@keyframes votingQuestionBackIn {
    from {
        opacity: 0;
        transform: translateX(-34px);
        filter: blur(4px)
    }

    to {
        opacity: 1;
        transform: none;
        filter: none
    }
}

.secret-voting-notice {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px solid rgba(121, 203, 184, .24);
    border-radius: 14px;
    background: rgba(121, 203, 184, .08)
}

.secret-voting-notice>svg {
    width: 25px;
    height: 25px;
    stroke: #8fe0cc;
    fill: none;
    flex: none
}

.secret-voting-notice>div {
    display: grid;
    gap: 3px
}

.secret-voting-notice span {
    color: rgba(255, 250, 240, .63);
    font-size: .8rem;
    line-height: 1.45
}

.secret-candidate-search {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .055)
}

.secret-candidate-search svg {
    width: 18px;
    height: 18px;
    stroke: rgba(255, 255, 255, .6);
    fill: none
}

.secret-candidate-search input {
    width: 100%;
    min-height: 46px;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font: inherit
}

.voting-ballot.is-secret {
    display: grid;
    grid-template-columns: 1fr
}

.secret-candidate-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-height: 430px;
    overflow: auto;
    padding: 2px;
    scrollbar-width: thin
}

.secret-candidate {
    cursor: pointer
}

.secret-candidate[hidden] {
    display: none
}

.secret-candidate input {
    position: absolute;
    opacity: 0
}

.secret-candidate>span {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 11px;
    min-height: 58px !important;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .035) !important;
    transition: border-color .17s, background .17s, transform .17s
}

.secret-candidate>span>b {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    color: #cffff2;
    background: rgba(80, 174, 151, .18);
    font-size: .76rem
}

.secret-candidate>span>strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .84rem
}

.secret-candidate>span>i {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    color: #17201e;
    background: #75d6be;
    font-style: normal;
    opacity: 0;
    transform: scale(.6);
    transition: .17s
}

.secret-candidate input:checked+span {
    color: #fff !important;
    border-color: #78d9c1 !important;
    background: rgba(83, 181, 157, .16) !important;
    transform: translateY(-1px)
}

.secret-candidate input:checked+span>i {
    opacity: 1;
    transform: none
}

.secret-confirm {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid rgba(243, 212, 138, .3);
    border-radius: 13px;
    background: rgba(243, 212, 138, .09)
}

.secret-confirm[hidden] {
    display: none
}

.secret-confirm strong {
    color: #f3d48a
}

.secret-confirm span {
    color: rgba(255, 250, 240, .68);
    font-size: .8rem;
    line-height: 1.45
}

@media(max-width:680px) {
    .secret-candidate-list {
        grid-template-columns: 1fr;
        max-height: 48vh
    }

    .secret-candidate>span {
        grid-template-columns: 40px minmax(0, 1fr) 22px
    }

    .secret-candidate>span>b {
        width: 40px;
        height: 40px
    }
}

.is-secret-results .voting-voter-details,
.is-secret-results .voting-result-summary .has-missing {
    display: none
}

.is-secret-results .voting-results>.voting-kicker::after {
    content: " · anonimni rezultati"
}

.voting-dialog.is-secret-open {
    display: block !important;
    width: min(920px, 100%) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    overflow-y: auto !important
}

.voting-dialog.is-secret-open>#votingDialogBody,
.voting-dialog.is-secret-open .secret-voting-step,
.voting-dialog.is-secret-open .voting-ballot.is-secret {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important
}

.voting-dialog.is-secret-open .secret-candidate-search {
    display: none !important
}

.voting-dialog.is-secret-open .secret-candidate-list {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important
}

@media(max-width:680px) {
    .voting-dialog.is-secret-open {
        width: 100% !important;
        padding: 22px 16px !important
    }

    .voting-dialog.is-secret-open .secret-candidate-list {
        grid-template-columns: 1fr !important
    }
}

.secret-confirm-modal {
    position: fixed;
    z-index: 20;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(4, 10, 8, .78);
    backdrop-filter: blur(8px)
}

.secret-confirm-card {
    display: grid;
    width: min(460px, 100%);
    gap: 10px;
    padding: 28px;
    border: 1px solid rgba(243, 212, 138, .35);
    border-radius: 22px;
    color: #fffaf0;
    background: linear-gradient(145deg, #173a35, #392329);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
    text-align: center;
    animation: votingIn .22s ease both
}

.secret-confirm-icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin: 0 auto 4px;
    place-items: center;
    border-radius: 50%;
    color: #17201e;
    background: #f3d48a;
    font-size: 1.5rem;
    font-weight: 950
}

.secret-confirm-card p {
    margin: 0;
    color: #79cbb8;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase
}

.secret-confirm-card h3 {
    margin: 0;
    font-size: 1.15rem
}

.secret-confirm-card>strong {
    color: #f3d48a;
    font-size: 1.45rem
}

.secret-confirm-card small {
    margin: 2px 0 10px;
    color: rgba(255, 250, 240, .7);
    font-size: .85rem
}

.secret-confirm-card>div {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 10px
}

.secret-confirm-card button {
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font-weight: 900;
    cursor: pointer
}

.secret-confirm-card [data-secret-confirm-yes] {
    color: #17201e;
    border-color: #f3d48a;
    background: #f3d48a
}

@media(max-width:520px) {
    .secret-confirm-card>div {
        grid-template-columns: 1fr
    }

    .secret-confirm-card [data-secret-confirm-yes] {
        order: -1
    }
}

.secret-confirm-modal {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(4, 10, 8, .78);
    backdrop-filter: blur(8px)
}

.secret-confirm-card {
    display: grid;
    width: min(460px, 100%);
    gap: 10px;
    padding: 28px;
    border: 1px solid rgba(243, 212, 138, .35);
    border-radius: 22px;
    color: #fffaf0;
    background: linear-gradient(145deg, #173a35, #392329);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
    text-align: center;
    animation: votingIn .22s ease both
}

.secret-confirm-icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin: 0 auto 4px;
    place-items: center;
    border-radius: 50%;
    color: #17201e;
    background: #f3d48a;
    font-size: 1.5rem;
    font-weight: 950
}

.secret-confirm-card p {
    margin: 0;
    color: #79cbb8;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase
}

.secret-confirm-card h3 {
    margin: 0;
    font-size: 1.15rem
}

.secret-confirm-card>strong {
    color: #f3d48a;
    font-size: 1.45rem
}

.secret-confirm-card small {
    margin: 2px 0 10px;
    color: rgba(255, 250, 240, .7);
    font-size: .85rem
}

.secret-confirm-card>div {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 10px
}

.secret-confirm-card button {
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font-weight: 900;
    cursor: pointer
}

.secret-confirm-card [data-secret-confirm-yes] {
    color: #17201e;
    border-color: #f3d48a;
    background: #f3d48a
}

@media(max-width:520px) {
    .secret-confirm-card>div {
        grid-template-columns: 1fr
    }

    .secret-confirm-card [data-secret-confirm-yes] {
        order: -1
    }
}

.voting-page {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: block;
    padding: 0;
    overflow: auto;
    background: var(--vote-dialog);
    backdrop-filter: none
}

.voting-page[hidden] {
    display: none
}

.voting-page .voting-dialog {
    width: min(1120px, 100%);
    min-height: 100dvh;
    max-height: none;
    margin: 0 auto;
    padding: 0 32px 54px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible
}

.voting-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 88px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--vote-border)
}

.voting-page-header .voting-close {
    position: static;
    width: auto;
    height: 44px;
    padding: 0 16px;
    border-radius: 12px;
    font-size: .88rem;
    font-weight: 900
}

.voting-page-header .voting-close span {
    margin-right: 7px;
    font-size: 1.15rem
}

.voting-page-header>div {
    display: grid;
    gap: 2px;
    text-align: right
}

.voting-page-header small {
    color: var(--vote-accent);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em
}

.voting-page-header strong {
    font-size: 1rem
}

.voting-page #votingDialogBody {
    width: min(920px, 100%);
    margin: 0 auto
}

.voting-page .voting-step {
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid var(--vote-border);
    border-radius: 24px;
    background: var(--vote-surface);
    box-shadow: 0 24px 70px var(--vote-shadow)
}

.voting-page .voting-close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center
}

.voting-page .voting-pdf-viewer {
    border-radius: 18px;
    overflow: hidden
}

.voting-page .voting-dialog.is-secret-open {
    width: min(1120px, 100%) !important;
    max-height: none !important;
    overflow: visible !important
}

.voting-page .voting-dialog.is-pdf-open {
    display: grid;
    width: min(1480px, 100%);
    min-height: 100dvh;
    height: auto;
    grid-template-columns: minmax(380px, .78fr) minmax(560px, 1.22fr);
    grid-template-rows: auto 1fr;
    gap: 0 24px;
    padding: 0 28px 28px
}

.voting-page .voting-dialog.is-pdf-open .voting-page-header {
    grid-column: 1/-1
}

.voting-page .voting-dialog.is-pdf-open>#votingDialogBody {
    padding: 0;
    border: 0;
    overflow: visible
}

.voting-page .voting-dialog.is-pdf-open .voting-pdf-viewer {
    position: sticky;
    top: 112px;
    height: calc(100dvh - 140px)
}

@media(max-width:860px) {
    .voting-page .voting-dialog {
        padding: 0 16px 32px
    }

    .voting-page-header {
        min-height: 72px;
        margin-bottom: 18px
    }

    .voting-page-header>div strong {
        font-size: .82rem
    }

    .voting-page .voting-step {
        padding: 22px 16px;
        border-radius: 19px
    }

    .voting-page .voting-dialog.is-pdf-open {
        display: block;
        padding: 0 16px 30px
    }

    .voting-page .voting-dialog.is-pdf-open .voting-pdf-viewer {
        position: fixed;
        inset: 0;
        height: 100dvh;
        border-radius: 0;
        z-index: 5
    }
}

.voting-audit-filters {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 0 24px 14px;
    scrollbar-width: thin
}

.voting-audit-filters button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--vote-border);
    border-radius: 999px;
    color: var(--vote-muted);
    background: var(--vote-surface);
    font: inherit;
    font-size: .73rem;
    font-weight: 850;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .18s, background .18s, color .18s, transform .18s
}

.voting-audit-filters button:hover {
    color: var(--vote-text);
    transform: translateY(-1px)
}

.voting-audit-filters button b {
    display: grid;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    place-items: center;
    border-radius: 999px;
    color: var(--vote-text);
    background: var(--vote-surface-strong);
    font-size: .66rem
}

.voting-audit-filters button.is-active {
    color: var(--vote-accent-text);
    border-color: var(--vote-accent);
    background: var(--vote-accent);
    box-shadow: 0 7px 20px color-mix(in srgb, var(--vote-accent) 18%, transparent)
}

.voting-audit-filters button.is-active b {
    color: inherit;
    background: rgba(255, 255, 255, .28)
}

.voting-audit-filters button.is-yes:not(.is-active) {
    color: #9de0bd;
    border-color: rgba(55, 166, 109, .35)
}

.voting-audit-filters button.is-no:not(.is-active),
.voting-audit-filters button.is-missing:not(.is-active) {
    color: #ff9ba8;
    border-color: rgba(204, 65, 75, .32)
}

.voting-audit-filters button.is-abstain:not(.is-active) {
    color: #f3d48a;
    border-color: rgba(228, 184, 63, .34)
}

.voting-audit-row[hidden] {
    display: none
}

.voting-audit-empty {
    padding: 18px;
    border: 1px dashed var(--vote-border);
    border-radius: 13px;
    text-align: center
}

@media(max-width:620px) {
    .voting-audit-filters {
        padding: 0 16px 12px
    }

    .voting-audit-filters button {
        min-height: 36px;
        padding: 0 10px
    }

    .voting-audit-meta {
        flex-wrap: wrap
    }
}

.voting-audit-card {
    grid-template-rows: auto auto auto minmax(0, 1fr)
}

.voting-audit-list {
    grid-row: 4;
    min-height: 0
}

.voting-audit-list::-webkit-scrollbar {
    width: 10px
}

.voting-audit-list::-webkit-scrollbar-track {
    background: transparent
}

.voting-audit-list::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: color-mix(in srgb, var(--vote-accent) 42%, transparent);
    background-clip: padding-box
}

.voting-audit-filters {
    position: relative;
    z-index: 1;
    flex: none;
    min-height: 52px;
    background: transparent
}

.voting-audit-filters::-webkit-scrollbar {
    height: 6px
}

.voting-audit-filters::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: color-mix(in srgb, var(--vote-accent) 32%, transparent)
}

.voting-audit-filters+.voting-audit-list {
    border-top: 1px solid color-mix(in srgb, var(--vote-border) 65%, transparent);
    padding-top: 14px
}

@media(max-width:620px) {
    .voting-audit-card {
        grid-template-rows: auto auto auto minmax(0, 1fr)
    }

    .voting-audit-filters {
        min-height: 48px
    }

    .voting-audit-filters+.voting-audit-list {
        padding-top: 12px
    }
}

.voting-audit-card {
    grid-template-rows: auto auto minmax(0, 1fr)
}

.voting-audit-list {
    grid-row: auto
}

.voting-audit-filters {
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 88px;
    padding: 18px 24px;
    border-bottom: 1px solid color-mix(in srgb, var(--vote-border) 65%, transparent)
}

.voting-audit-filters+.voting-audit-list {
    border-top: 0;
    padding-top: 18px
}

@media(max-width:760px) {
    .voting-audit-filters {
        justify-content: flex-start;
        min-height: 76px;
        padding: 14px 16px
    }

    .voting-audit-filters+.voting-audit-list {
        padding-top: 14px
    }
}

.voting-audit-filters {
    flex-wrap: wrap;
    overflow-x: visible
}

.voting-audit-filter-label {
    flex: 0 0 100%;
    color: var(--vote-muted);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-align: center;
    text-transform: uppercase
}

.voting-audit-filters button:focus-visible {
    outline: 2px solid var(--vote-accent);
    outline-offset: 2px
}

@media(max-width:760px) {
    .voting-audit-filters {
        justify-content: center;
        gap: 7px;
        min-height: 0;
        padding: 13px 12px 15px
    }

    .voting-audit-filter-label {
        margin-bottom: 2px;
        font-size: .63rem
    }

    .voting-audit-filters button {
        min-height: 32px;
        padding: 0 8px;
        font-size: .65rem
    }

    .voting-audit-filters button b {
        min-width: 19px;
        height: 19px;
        padding: 0 4px;
        font-size: .6rem
    }
}