/* =============================================================================
   CARDS COMPONENT LIBRARY
   Student Cards: 8px radius, highly tappable (44px min).
   Admin Cards: 4px radius, dense, data-heavy.
   ============================================================================= */

/* --- Pillar Card (Student Portal) --- */
.academy-pillar-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    min-height: 160px;
    padding: var(--space-lg);
    background-color: var(--color-harbor-blue);
    border: 2px solid transparent;
    border-radius: 8px;
    /* Compassion & softness */
    text-align: left;
    cursor: pointer;
    transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
    text-decoration: none;
    box-sizing: border-box;
}

.academy-pillar-card:hover:not(.academy-pillar-card--locked) {
    transform: translateY(-2px);
    border-color: var(--color-sunrise-gold);
    box-shadow: 0 8px 16px rgba(26, 54, 93, 0.15);
}

.academy-pillar-card:focus-visible {
    outline: 3px solid var(--color-sunrise-gold);
    outline-offset: 2px;
}

.academy-pillar-card__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: var(--space-md);
    background-color: rgba(214, 158, 46, 0.1);
    border-radius: var(--radius-full);
}

/* Force Sunrise Gold onto simple black/monochrome SVGs */
.academy-pillar-card__icon {
    width: 24px;
    height: 24px;
    filter: invert(72%) sepia(85%) saturate(399%) hue-rotate(352deg) brightness(91%) contrast(93%);
    /* Matches #D69E2E roughly */
}

.academy-pillar-card__content {
    flex: 1;
}

.academy-pillar-card__title {
    margin: 0 0 var(--space-xs);
    font-family: var(--font-heading);
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.academy-pillar-card__desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    color: rgba(248, 249, 250, 0.85);
    /* Alabaster off-white */
}

.academy-pillar-card__action {
    margin-top: var(--space-md);
    font-family: var(--font-body);
    font-size: var(--fs-small);
    font-weight: var(--fw-semibold);
    color: var(--color-sunrise-gold);
}

.academy-pillar-card--locked {
    background-color: rgba(74, 85, 104, 0.15);
    /* Slate Gray washed */
    cursor: not-allowed;
}

.academy-pillar-card--locked .academy-pillar-card__title,
.academy-pillar-card--locked .academy-pillar-card__desc {
    color: var(--color-slate-gray);
}

.academy-pillar-card--locked .academy-pillar-card__action {
    display: none;
}

/* --- Competency Badge (Student Portal) --- */
.academy-competency-badge {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background-color: var(--color-white);
    border: 1px solid rgba(74, 85, 104, 0.15);
    border-radius: 8px;
    min-height: 48px;
}

.academy-competency-badge__status {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
}

.academy-competency-badge__pending {
    color: var(--color-slate-gray);
    font-size: 18px;
    line-height: 1;
}

.academy-competency-badge__check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-success-green);
    color: var(--color-white);
    font-size: 14px;
    border-radius: var(--radius-full);
}

.academy-competency-badge__info {
    display: flex;
    flex-direction: column;
}

.academy-competency-badge__level {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-slate-gray);
}

.academy-competency-badge__name {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--fs-small);
    font-weight: var(--fw-medium);
    color: var(--color-harbor-blue);
}

.academy-competency-badge--completed {
    border-color: rgba(47, 133, 90, 0.3);
    /* Success Green tint */
    background-color: rgba(47, 133, 90, 0.03);
}

/* --- Admin Data Card (Admin Portal Kanban) --- */
.academy-admin-card {
    display: flex;
    flex-direction: column;
    padding: var(--space-md);
    background-color: var(--color-white);
    border: 1px solid rgba(74, 85, 104, 0.2);
    border-radius: 4px;
    /* Rigid, dense desktop data */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.academy-admin-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-xs);
}

.academy-admin-card__name {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-semibold);
    color: var(--color-harbor-blue);
}

.academy-admin-card__traffic-light {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 6px;
    background: rgba(248, 249, 250, 1);
    border-radius: 12px;
}

.academy-admin-card__dot {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
}

.academy-admin-card__risk-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--fw-medium);
    color: var(--color-slate-gray);
}

/* Risk States */
.academy-admin-card--risk-green .academy-admin-card__dot {
    background-color: var(--color-success-green);
}

.academy-admin-card--risk-yellow .academy-admin-card__dot {
    background-color: var(--color-sunrise-gold);
}

.academy-admin-card--risk-yellow {
    border-left: 3px solid var(--color-sunrise-gold);
}

.academy-admin-card--risk-red .academy-admin-card__dot {
    background-color: var(--color-alert-crimson);
}

.academy-admin-card--risk-red {
    border-left: 3px solid var(--color-alert-crimson);
}

.academy-admin-card--risk-red .academy-admin-card__risk-label {
    color: var(--color-alert-crimson);
    font-weight: var(--fw-bold);
}

.academy-admin-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: var(--space-sm);
}

.academy-admin-card__tag {
    padding: 2px 6px;
    background-color: rgba(26, 54, 93, 0.05);
    /* Soft Harbor Blue */
    color: var(--color-harbor-blue);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    border-radius: 4px;
}

.academy-admin-card__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xs) var(--space-sm);
    margin-bottom: var(--space-sm);
    padding-top: var(--space-xs);
    border-top: 1px dashed rgba(74, 85, 104, 0.15);
}

.academy-admin-card__data-point {
    display: flex;
    flex-direction: column;
}

.academy-admin-card__label {
    font-family: var(--font-body);
    font-size: 10px;
    color: var(--color-slate-gray);
    text-transform: uppercase;
}

.academy-admin-card__value {
    font-family: var(--font-body);
    font-size: var(--fs-small);
    color: var(--color-dark-charcoal);
    font-weight: var(--fw-medium);
}

.academy-admin-card__action {
    width: 100%;
    padding: 6px 0;
    background: transparent;
    border: 1px solid var(--color-harbor-blue);
    border-radius: 4px;
    color: var(--color-harbor-blue);
    font-family: var(--font-body);
    font-size: var(--fs-small);
    font-weight: var(--fw-medium);
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.academy-admin-card__action:hover {
    background-color: var(--color-harbor-blue);
    color: var(--color-white);
}