.smit-poll {
    margin: 1.5rem 0;
    color: inherit;
    font-size: 1rem;
}

.smit-poll__header {
    border-bottom: 1px solid #ebebeb;
}

.smit-poll__header-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #222222;
}

.dark .smit-poll__header-title {
    color: #fff;
}

.smit-poll__content {
    padding-top: 1.25rem;
}

.smit-poll__title {
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 600;
    margin: 0 0 1rem;
    color: #222;
}

.smit-poll__status {
    font-size: 0.9375rem;
    line-height: 1.4;
    color: #515863;
    background-color: #f6f6f6;
    border-left: 4px solid #c1c8d2;
    padding: 0.75rem 0.875rem;
    border-radius: 0.35rem;
    margin: 0 0 1rem;
}

.smit-poll__status--closed {
    background-color: #f6f6f6;
    border-color: #c1c8d2;
    color: #515863;
}

.smit-poll__form {
    margin-top: 0.5rem;
}

.smit-poll__options {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.smit-poll__option {
    display: flex;
    flex-direction: column;
}

.smit-poll__option:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.smit-poll__option-label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
    color: #222;
    cursor: pointer;
}

.smit-poll__option input {
    width: 1.05rem;
    height: 1.05rem;
}

.smit-poll.is-readonly .smit-poll__option input {
    display: none;
}

.smit-poll.is-readonly .smit-poll__option-label {
    cursor: default;
}

.smit-poll__option.is-user-selected .smit-poll__option-text {
    font-weight: 700;
    color: #0f1116;
}

.smit-poll.is-readonly .smit-poll__submit {
    display: none;
}

.smit-poll__percent {
    font-weight: 700;
    color: #20437b;
    min-width: 3.5rem;
    text-align: right;
    font-size: 0.875rem;
}

.smit-poll__bar-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.smit-poll__bar {
    width: 100%;
    height: 8px;
    background-color: #c1c8d2;
    border-radius: 999px;
    overflow: hidden;
}

.smit-poll__bar-fill {
    display: block;
    height: 100%;
    width: 0;
    background-color: #20437b;
    border-radius: 999px;
    transition: width 0.35s ease;
}

.smit-poll__actions {
    margin-top: 1rem;
}

.smit-poll__submit {
    width: 100%;
}

.smit-poll__submit.is-disabled {
    background-color: #c1c8d2;
    border-color: #c1c8d2;
    color: #515863;
    cursor: not-allowed;
}

.smit-poll__note {
    margin: 0.5rem 0 0;
    font-size: 0.75rem;
}

.smit-poll__note--success {
    color: #1f7b3a;
}

.smit-poll__note--error {
    color: #c31c1c;
}

.smit-poll__option input:disabled + .smit-poll__option-text {
    color: #515863;
}

.smit-poll__option-text {
    line-height: 1.2;
}

.smit-poll__total {
    margin: 0.75rem 0 0 0;
    font-size: 0.75rem;
    color: #303030;
}

.smit-poll__related {
    margin-top: 0.5rem;
}

.smit-poll__related-link {
    display: inline-block;
    font-weight: 600;
    color: #20437b;
    text-decoration: none;
    font-size: 0.75rem;
    line-height: 1.2;
}

.smit-poll__related-link:hover {
    text-decoration: underline;
}

.smit-poll__related-title {
    font-size: .75rem;
    color: inherit;
}

.smit-poll.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

.dark .smit-poll__title {
    color: #ffffff;
}

.dark .smit-poll__total {
    color: #c1c8d2;
}

.dark .smit-poll__status {
    color: #c1c8d2;
    background-color: #171b25;
    border-color: #20437b;
}

.dark .smit-poll__option-label {
    color: #ffffff;
}

.dark .smit-poll__option input:disabled + .smit-poll__option-text {
    color: #c1c8d2;
}

.dark .smit-poll__percent {
    color: #c1c8d2;
}

.dark .smit-poll__bar {
    background-color: #2b3345;
}

.dark .smit-poll__submit.is-disabled {
    background-color: #2b3345;
    border-color: #2b3345;
    color: #c1c8d2;
}
