/* BOTSAUTO Frontend Styles with CSS Variables */
.botsauto-btn-primary {
    background: var(--botsauto-role-button-background, var(--botsauto-pink));
    color: var(--botsauto-role-button-text, var(--botsauto-white));
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.botsauto-btn-primary:hover {
    background: var(--botsauto-role-button-background-hover, var(--botsauto-role-button-background, var(--botsauto-pink)));
    color: var(--botsauto-role-button-text-hover, var(--botsauto-role-button-text, var(--botsauto-white)));
    opacity: 0.9;
}

.botsauto-btn-primary:focus {
    outline: 2px solid var(--botsauto-focus-ring, var(--botsauto-blue));
    outline-offset: 2px;
}

.botsauto-btn-primary:active {
    background: var(--botsauto-role-button-background-active, var(--botsauto-role-button-background, var(--botsauto-pink)));
    color: var(--botsauto-role-button-text-active, var(--botsauto-role-button-text, var(--botsauto-white)));
    transform: translateY(1px);
}

.botsauto-btn-secondary {
    background: var(--botsauto-role-phase-background, var(--botsauto-blue));
    color: var(--botsauto-role-phase-text, var(--botsauto-white));
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.botsauto-btn-secondary:hover {
    background: var(--botsauto-role-phase-background-hover, var(--botsauto-role-phase-background, var(--botsauto-blue)));
    color: var(--botsauto-role-phase-text-hover, var(--botsauto-role-phase-text, var(--botsauto-white)));
    opacity: 0.9;
}

.botsauto-btn-secondary:focus {
    outline: 2px solid var(--botsauto-focus-ring, var(--botsauto-blue));
    outline-offset: 2px;
}

.botsauto-btn-secondary:active {
    background: var(--botsauto-role-phase-background-active, var(--botsauto-role-phase-background, var(--botsauto-blue)));
    color: var(--botsauto-role-phase-text-active, var(--botsauto-role-phase-text, var(--botsauto-white)));
    transform: translateY(1px);
}

.botsauto-heading {
    color: var(--botsauto-navy);
}

.botsauto-link {
    color: var(--botsauto-blue);
}

.botsauto-link:hover {
    opacity: 0.8;
}

.botsauto-success {
    color: var(--botsauto-green);
}

.botsauto-text {
    color: var(--botsauto-gray);
}

.botsauto-bg {
    background-color: var(--botsauto-white);
}

.botsauto-bg-muted {
    background-color: var(--botsauto-gray-100);
}

.botsauto-progress{position:relative;overflow:hidden;background:var(--track);}
.botsauto-progress::before{content:"";position:absolute;inset:0;width:var(--pct);background:var(--fill);border-radius:inherit;}
.botsauto-progress::after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;color:var(--label);font-weight:600;}

/* Form elements */
.botsauto-input {
    border: 1px solid var(--botsauto-gray);
    border-radius: 4px;
    padding: 8px 12px;
    color: var(--botsauto-gray);
}

.botsauto-input:focus {
    border-color: var(--botsauto-blue);
    outline: none;
    box-shadow: 0 0 0 2px var(--botsauto-focus-shadow);
}

/* Checklist items */
.botsauto-checklist-item {
    border-left: 3px solid var(--botsauto-pink);
    padding: 10px;
    margin-bottom: 10px;
    background: var(--botsauto-white);
}

/* Phase title styling - ensure all phase titles are bold */
.botsauto-phase-title {
    font-weight: bold !important;
}

.botsauto-checklist-item.completed {
    border-left-color: var(--botsauto-green);
    background: var(--botsauto-gray-100);
}

/* Alerts and notices */
.botsauto-alert {
    padding: 12px 16px;
    border-radius: 4px;
    margin: 10px 0;
}

.botsauto-alert-success {
    background-color: var(--botsauto-gray-100);
    border: 1px solid var(--botsauto-green);
    color: var(--botsauto-green);
}

.botsauto-alert-info {
    background-color: var(--botsauto-gray-100);
    border: 1px solid var(--botsauto-blue);
    color: var(--botsauto-blue);
}

.botsauto-alert-warning {
    background-color: var(--botsauto-gray-100);
    border: 1px solid var(--botsauto-pink);
    color: var(--botsauto-pink);
}

/* For buttons/badges/headings when accessibility_mode = allow_large */
.botsauto-a11y-large {
    font-size: 18.67px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}
/* Alternative: font-size:14px; font-weight:700; */