.hoa-motions-list {
    display: grid;
    gap: 1rem;
    margin: 1.5rem 0;
}

.hoa-motion-card,
.hoa-vote-panel,
.hoa-verify-receipt {
    border: 1px solid #d9e2ec;
    border-radius: 10px;
    padding: 1rem;
    margin: 1rem 0;
    background: #fff;
}

.hoa-motion-card h3 {
    margin-top: 0;
}

.hoa-vote-form label {
    display: block;
    margin: 0.5rem 0;
}

.hoa-vote-form .hoa-ack,
.hoa-privacy-disclosure,
.hoa-receipt-warning {
    background: #f8fafc;
    border-left: 4px solid #2563eb;
    padding: 0.75rem;
    margin: 0.75rem 0;
}

.hoa-inline-form {
    display: inline-block;
    margin-left: 0.5rem;
}

.hoa-motion-image {
    margin: 1rem 0;
}

.hoa-motion-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.hoa-vote-form .button,
.hoa-verify-receipt .button,
.hoa-button {
    margin-top: 0.75rem;
}

.hoa-end-date,
.hoa-login-notice,
.hoa-status-notice {
    margin: 0.75rem 0;
}

.hoa-alert {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-top: 1rem;
}

.hoa-alert p {
    margin-top: 0;
}

.hoa-alert-success {
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #14532d;
}

.hoa-alert-error {
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #7f1d1d;
}

.hoa-receipt-details {
    margin-bottom: 0;
}

.hoa-receipt-details dt {
    font-weight: 700;
    margin-top: 0.5rem;
}

.hoa-receipt-details dd {
    margin-left: 0;
}
