.phbs-button {
    align-items: center;
    background: var(--phbs-wine);
    border: 1px solid var(--phbs-wine);
    border-radius: var(--phbs-radius-sm);
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    gap: 0.55rem;
    justify-content: center;
    min-height: 46px;
    padding: 0.7rem 1.3rem;
    text-decoration: none;
    transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.phbs-button:hover {
    background: var(--phbs-wine-dark);
    border-color: var(--phbs-wine-dark);
    color: #fff;
    transform: translateY(-1px);
}

.phbs-button--outline {
    background: #fff;
    border-color: rgba(152, 22, 55, 0.35);
    color: var(--phbs-wine);
}

.phbs-button--outline:hover {
    background: var(--phbs-wine-soft);
    border-color: rgba(152, 22, 55, 0.48);
    color: var(--phbs-wine-dark);
}

.prototype-notice {
    align-items: flex-start;
    background: #fff8e8;
    border: 1px solid #edd9ad;
    border-radius: var(--phbs-radius-sm);
    color: #73551e;
    display: flex;
    font-size: 0.78rem;
    gap: 0.55rem;
    line-height: 1.55;
    padding: 0.75rem 0.9rem;
}

.prototype-notice::before {
    background: #d59427;
    border-radius: 50%;
    content: "";
    flex: 0 0 auto;
    height: 7px;
    margin-top: 0.4rem;
    width: 7px;
}

.runtime-status {
    align-items: center;
    color: var(--phbs-muted);
    display: inline-flex;
    font-size: 0.72rem;
    gap: 0.45rem;
}

.runtime-status::before {
    background: #c28b2a;
    border-radius: 50%;
    content: "";
    height: 7px;
    width: 7px;
}

.runtime-status[data-state="ready"]::before {
    background: var(--phbs-green);
}

.runtime-status[data-state="error"]::before {
    background: #c83b4f;
}

.action-message {
    background: #f3f5f8;
    border-left: 3px solid var(--phbs-wine);
    border-radius: 0 var(--phbs-radius-sm) var(--phbs-radius-sm) 0;
    color: #59667a;
    font-size: 0.78rem;
    line-height: 1.55;
    margin-top: 1rem;
    padding: 0.75rem 0.9rem;
}

.action-message[hidden] {
    display: none;
}
