.poll {
    padding: 1em 0;
}

.poll .description {
    margin: 1em 0;
}

.poll .amount {
    font-size: 0.8em;
    color: #555;
    margin-bottom: 1em;
}

.poll .error {
    color: #dc3545;
}

.poll-agreements,
.poll-options {
    list-style: none;
    padding-left: 0;
}

.poll-options input[type=radio],
.poll-options input[type=checkbox] {
    margin-right: 0.5em;
}

.poll-options li {
    display: flex;
    margin-bottom: .25rem;
}

.poll-options li p:last-child {
    margin-bottom: 0;
}

.poll-agreements li {
    display: flex;
}

.poll-agreements li input {
    margin: 0.25em 0.5em 0 0;
}

.poll-stats .poll-question {
    font-size: 1.5em;
    display: flex;
    gap: .25em;
}

.poll-stats .poll-option {
    display: flex;
    gap: .25em;
}

.poll-stats table {
    border-collapse: collapse;
    margin: 1em 0;
    width: 100%;
    border-bottom: 1px solid #ccc;
}

.poll-stats table th,
.poll-stats table td {
    border: 0 solid #ccc;
    border-top-width: 1px;
    padding: 0.5em 0;
}

.poll-stats table .value {
    width: 20%;
    text-align: center;
}

.poll-stats table .percent {
    background: #bdf200;
    height: 0.5em;
    margin-top: 0.5em;
}

ol li.poll-question {
    margin-bottom: 1em;
}

.poll-question-title {
    display: flex;
    margin-bottom: .5rem;
}

.poll-question-number {
    margin-right: .5rem;
}

.poll-question p:last-child {
    margin-bottom: 0;
}