/* ─── Eligibility wizard ─────────────────────────────────────────────────
   Moved out of admitshark/_partials/styles.blade.php (a shared block loaded
   on all ~29 AdmitShark pages) since only this page ever uses .as-elig-*. */

.as-elig-wrap { max-width:760px; margin:-64px auto 0; position:relative; z-index:2; }
.as-elig-card {
    background:#fff; border:1px solid var(--as-border); border-radius:16px;
    padding:32px; margin-bottom:20px; opacity:0; transform:translateY(10px);
    transition:opacity .35s ease, transform .35s ease;
}
.as-elig-card.as-elig-visible { opacity:1; transform:translateY(0); }
.as-elig-card h3 { font-size:1.1rem; font-weight:800; color:var(--as-primary); margin:0 0 6px; letter-spacing:-.01em; }
.as-elig-card .as-elig-step-sub { font-size:.85rem; color:var(--as-muted); margin:0 0 22px; }
.as-elig-step-num {
    display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px;
    border-radius:50%; background:var(--as-accent); color:#fff; font-size:.72rem; font-weight:800; margin-right:8px;
}

/* ── Progress bar ── */
.as-elig-progress { max-width:760px; margin:0 auto 18px; position:relative; z-index:2; }
.as-elig-progress-track { display:flex; gap:6px; margin-bottom:8px; }
.as-elig-progress-seg { flex:1; height:5px; border-radius:3px; background:rgba(255,255,255,.28); overflow:hidden; }
.as-elig-progress-seg span { display:block; height:100%; width:0; background:var(--as-accent); transition:width .3s ease; }
.as-elig-progress-label { font-size:.78rem; font-weight:700; color:rgba(255,255,255,.85); }

/* ── Chip selectors (countries / levels / fields) ── */
.as-elig-chips { display:flex; flex-wrap:wrap; gap:10px; }
.as-elig-chip {
    display:inline-flex; align-items:center; gap:7px; border:1.5px solid var(--as-border); border-radius:50px;
    padding:10px 18px; font-size:.88rem; font-weight:700; color:var(--as-text); background:#fff; cursor:pointer;
    transition:all .15s; user-select:none;
}
.as-elig-chip:hover { border-color:var(--as-accent); }
.as-elig-chip.as-elig-chip-active { background:var(--as-primary); border-color:var(--as-primary); color:#fff; }
.as-elig-chip-check { width:14px; height:14px; opacity:0; transition:opacity .15s; }
.as-elig-chip.as-elig-chip-active .as-elig-chip-check { opacity:1; }
.as-elig-chip-hint { font-size:.78rem; color:var(--as-muted); margin-top:10px; }

/* ── Branch buttons (yes/no, e.g. "do you have an English test result?") ── */
.as-elig-branch { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.as-elig-branch-btn {
    border:1.5px solid var(--as-border); border-radius:12px; padding:14px; text-align:center;
    font-weight:700; font-size:.9rem; color:var(--as-text); background:#fff; cursor:pointer; transition:all .15s;
}
.as-elig-branch-btn:hover { border-color:var(--as-accent); }
.as-elig-branch-btn.as-elig-branch-active { background:var(--as-primary); border-color:var(--as-primary); color:#fff; }
@media (max-width:575.98px) { .as-elig-branch { grid-template-columns:1fr; } }

.as-elig-filters { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:14px; }
.as-elig-filter-select {
    width:100%; border:1.5px solid var(--as-border); border-radius:10px; padding:11px 12px;
    font-size:.85rem; outline:0; background:#fff; color:var(--as-text);
}
.as-elig-filter-select:focus { border-color:var(--as-accent); }
@media (max-width:575.98px) { .as-elig-filters { grid-template-columns:1fr; } }

.as-elig-search { position:relative; }
.as-elig-search input {
    width:100%; border:1.5px solid var(--as-border); border-radius:12px; padding:14px 16px 14px 44px;
    font-size:.95rem; outline:0; background:var(--as-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 16px center;
}
.as-elig-search input:focus { border-color:var(--as-accent); background-color:#fff; }
.as-elig-program-results {
    position:absolute; top:calc(100% + 8px); left:0; right:0; background:#fff;
    border:1px solid var(--as-border); border-radius:14px; box-shadow:0 12px 32px rgba(16,40,74,.14);
    max-height:340px; overflow-y:auto; z-index:5; display:none;
}
.as-elig-program-results.as-elig-open { display:block; }
.as-elig-program-item {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:13px 16px; cursor:pointer; border-bottom:1px solid var(--as-border); transition:background .15s;
}
.as-elig-program-item:last-child { border-bottom:0; }
.as-elig-program-item:hover, .as-elig-program-item.as-elig-active { background:var(--as-soft); }
.as-elig-program-item-main { min-width:0; }
.as-elig-program-item-name { font-weight:700; color:var(--as-text); font-size:.9rem; }
.as-elig-program-item-meta { font-size:.78rem; color:var(--as-muted); margin-top:2px; }
.as-elig-program-item-tag {
    flex-shrink:0; font-size:.7rem; font-weight:700; color:var(--as-primary); background:var(--as-soft);
    border:1px solid var(--as-border); border-radius:50px; padding:3px 10px; white-space:nowrap;
}
.as-elig-empty { padding:22px 16px; text-align:center; color:var(--as-muted); font-size:.86rem; }

.as-elig-field { margin-bottom:18px; }
.as-elig-field label { display:block; font-size:.78rem; font-weight:700; color:var(--as-text); text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.as-elig-field select, .as-elig-field input {
    width:100%; border:1.5px solid var(--as-border); border-radius:10px; padding:12px 14px;
    font-size:.92rem; outline:0; background:#fff; color:var(--as-text);
}
.as-elig-field select:focus, .as-elig-field input:focus { border-color:var(--as-accent); }
.as-elig-field-hint { font-size:.74rem; color:var(--as-muted); margin-top:6px; }
.as-elig-field-hint.as-elig-field-error { color:#b42318; font-weight:700; }
.as-elig-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.as-elig-row-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
@media (max-width:575.98px) { .as-elig-row, .as-elig-row-3 { grid-template-columns:1fr; } }

.as-elig-scores-panel {
    border:2px solid rgba(249,102,10,.28); border-radius:16px; padding:18px 18px 14px;
    margin:20px 0 18px; background:linear-gradient(135deg,#fff7ed 0%,#fff 75%);
}
.as-elig-gpa-heading { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.as-elig-gpa-heading strong { display:block; color:var(--as-primary); font-size:1rem; }
.as-elig-gpa-heading small { display:block; color:var(--as-muted); font-size:.78rem; margin-top:2px; }
.as-elig-gpa-icon {
    width:40px; height:40px; flex:0 0 40px; border-radius:12px; display:flex; align-items:center;
    justify-content:center; color:#fff; background:var(--as-accent);
}

/* ── Course-score table (step 4) ────────────────────────────────────────── */
.as-elig-system-field { margin-bottom:14px; }
.as-elig-scores-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.as-elig-scores { width:100%; border-collapse:separate; border-spacing:0; min-width:440px; }
.as-elig-scores thead th {
    font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em;
    color:var(--as-muted); text-align:left; padding:0 10px 8px; white-space:nowrap;
}
.as-elig-scores tbody th {
    font-weight:700; font-size:.86rem; color:var(--as-text); text-align:left;
    padding:7px 10px 7px 0; vertical-align:middle; width:45%;
}
.as-elig-scores tbody td { padding:7px 10px 7px 0; vertical-align:middle; }
.as-elig-scores tbody td:last-child { padding-right:0; }
.as-elig-scores .as-elig-scores-pct { width:88px; text-align:right; white-space:nowrap; }
.as-elig-score-pct { font-size:.85rem; font-weight:800; color:var(--as-primary); }
.as-elig-scores input, .as-elig-scores select {
    width:100%; border:1.5px solid var(--as-border); border-radius:10px; padding:10px 12px;
    font-size:.88rem; outline:0; background:#fff; color:var(--as-text);
}
.as-elig-scores input:focus, .as-elig-scores select:focus { border-color:var(--as-accent); }
.as-elig-score-row-dupe input, .as-elig-score-row-dupe select { border-color:#f0a58a; }
.as-elig-score-row-dupe .as-elig-score-pct { color:#b42318; font-weight:700; font-size:.72rem; }
.as-elig-required-tag {
    display:inline-block; margin-left:6px; font-size:.6rem; font-weight:800; text-transform:uppercase;
    letter-spacing:.05em; color:var(--as-accent); background:rgba(249,102,10,.12);
    border-radius:50px; padding:2px 7px; vertical-align:middle;
}

.as-elig-average {
    display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    margin-top:14px; padding:14px 16px; border-radius:12px; background:#fff; border:1.5px solid var(--as-border);
}
.as-elig-average-figure { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.as-elig-average-value { font-size:1.6rem; font-weight:900; color:var(--as-primary); line-height:1; }
.as-elig-average-caption { font-size:.78rem; color:var(--as-muted); }

/* ── Step navigation ── */
.as-elig-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:26px; }
.as-elig-back {
    background:none; border:1.5px solid var(--as-border); border-radius:50px; padding:12px 20px;
    font-size:.85rem; font-weight:700; color:var(--as-muted); cursor:pointer; transition:all .15s;
}
.as-elig-back:hover { border-color:var(--as-primary); color:var(--as-primary); }
.as-elig-continue {
    flex:1; border:0; background:var(--as-accent); color:#fff; font-weight:800; font-size:.95rem;
    padding:14px; border-radius:12px; cursor:pointer; transition:all .2s; display:flex; align-items:center;
    justify-content:center; gap:8px;
}
.as-elig-continue:hover:not(:disabled) { background:#e55a08; transform:translateY(-1px); }
.as-elig-continue:disabled { opacity:.5; cursor:not-allowed; }
.as-elig-continue .as-elig-spin { animation:as-elig-spin 0.8s linear infinite; }
@keyframes as-elig-spin { to { transform:rotate(360deg); } }

/* Legacy single-submit button (kept for the "check this specific program" secondary flow) */
.as-elig-submit {
    width:100%; border:0; background:var(--as-accent); color:#fff; font-weight:800; font-size:.98rem;
    padding:15px; border-radius:12px; cursor:pointer; transition:all .2s; display:flex; align-items:center;
    justify-content:center; gap:8px;
}
.as-elig-submit:hover:not(:disabled) { background:#e55a08; transform:translateY(-1px); }
.as-elig-submit:disabled { opacity:.65; cursor:not-allowed; }

/* ── Band verdict (results screen headline) ─────────────────────────────── */
.as-elig-verdict {
    display:flex; align-items:center; gap:22px; flex-wrap:wrap;
    border-radius:16px; padding:24px 26px; margin-bottom:14px; border:1.5px solid transparent;
}
.as-elig-verdict-topup       { background:#fff7ed; border-color:#fed7aa; }
.as-elig-verdict-conditional { background:#fefce8; border-color:#fde68a; }
.as-elig-verdict-direct      { background:#ecfdf5; border-color:#a7f3d0; }
.as-elig-verdict-score { flex:0 0 auto; text-align:center; }
.as-elig-verdict-value { display:block; font-size:2.8rem; font-weight:900; line-height:1; color:var(--as-primary); }
.as-elig-verdict-value small { font-size:1.2rem; font-weight:800; }
.as-elig-verdict-scored { display:block; font-size:.72rem; color:var(--as-muted); margin-top:4px; }
.as-elig-verdict-body { flex:1 1 260px; min-width:0; }
.as-elig-verdict-body h4 { margin:0 0 6px; font-size:1.12rem; font-weight:800; color:var(--as-primary); }
.as-elig-verdict-body p { margin:0; font-size:.88rem; line-height:1.65; color:var(--as-text); }
/* The one red element on the page, and deliberately the only one: a light
   panel with a red rule down the side, not a solid block. Stacking a red bar,
   a red score panel and a red list notice made the whole result read as an
   error the applicant had caused. One quiet flag says the same thing. */
.as-elig-flag {
    display:flex; align-items:flex-start; gap:10px;
    border-radius:12px; padding:12px 16px; margin-bottom:10px;
    background:#fff5f5; border:1px solid #fadcdc; border-left:3px solid #d9534f;
    color:#a33a37; font-size:.85rem; font-weight:600; line-height:1.5;
}
.as-elig-flag i { font-size:.95rem; flex:0 0 auto; margin-top:2px; color:#d9534f; }

.as-elig-verdict-breakdown {
    border:1px solid var(--as-border); border-radius:12px; padding:0 16px; margin-bottom:14px; background:#fff;
}
.as-elig-verdict-breakdown summary {
    cursor:pointer; font-size:.82rem; font-weight:700; color:var(--as-primary); padding:13px 0; list-style:revert;
}
.as-elig-verdict-breakdown ul { list-style:none; margin:0; padding:0 0 6px; }
.as-elig-verdict-breakdown li {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    font-size:.84rem; padding:8px 0; border-top:1px solid var(--as-border);
}
.as-elig-verdict-breakdown li span:last-child { font-weight:700; color:var(--as-text); white-space:nowrap; }
.as-elig-verdict-breakdown li em { font-style:normal; color:var(--as-muted); font-weight:600; }
.as-elig-verdict-note { font-size:.74rem; color:var(--as-muted); margin:8px 0 14px; line-height:1.6; }
.as-elig-verdict-skipped {
    font-size:.78rem; color:#9a3412; background:#fff7ed; border:1px solid #fed7aa;
    border-radius:10px; padding:10px 14px; margin-bottom:16px;
}

/* ── Band school pools ──────────────────────────────────────────────────── */
.as-elig-bandschools { margin:8px 0 26px; }
.as-elig-bandschool-group { margin-bottom:20px; }
.as-elig-bandschool-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:4px; }
.as-elig-bandschool-head h4 { margin:0; font-size:.98rem; font-weight:800; color:var(--as-primary); }
.as-elig-bandschool-count { font-size:.74rem; font-weight:700; color:var(--as-muted); white-space:nowrap; }
.as-elig-bandschool-note { font-size:.76rem; color:var(--as-muted); margin:0 0 10px; }
/* 50 schools per pool is a lot of page — scroll the list instead, with a
   little bottom padding so a clipped row reads as "more below" rather than as
   a broken card. */
.as-elig-bandschool-list {
    list-style:none; margin:10px 0 0; padding:0 4px 6px 0;
    display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px;
    max-height:430px; overflow-y:auto; align-content:start;
}
.as-elig-bandschool-list a {
    display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; column-gap:10px;
    align-items:center; border:1px solid var(--as-border); border-radius:12px; padding:11px 13px;
    text-decoration:none; background:#fff; transition:all .15s; height:100%;
}
.as-elig-bandschool-list a:hover { border-color:var(--as-accent); transform:translateY(-1px); text-decoration:none; }
/* Explicit placement: without grid-column the auto-placed name can claim
   column 1 first and the logo drops below it. */
.as-elig-bandschool-list img { grid-column:1; grid-row:1 / span 2; width:34px; height:34px; object-fit:contain; border-radius:8px; }
.as-elig-bandschool-name { grid-column:2; }
.as-elig-bandschool-meta { grid-column:2; }
/* Some imported names are a whole list of campuses joined with semicolons
   ("Torrens University Australia; Torrens University Language Centre; …") and
   would otherwise stretch one card to six lines. Clamp; the full name is on
   the link's title and on the school page. */
.as-elig-bandschool-name {
    font-size:.84rem; font-weight:700; color:var(--as-text); line-height:1.3;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.as-elig-bandschool-meta { font-size:.71rem; line-height:1.4; color:var(--as-muted); margin-top:3px; align-self:start; }
.as-elig-bandschool-primary .as-elig-bandschool-list a { border-color:rgba(249,102,10,.35); background:#fffaf5; }
.as-elig-bandschool-disclaimer { font-size:.75rem; color:var(--as-muted); line-height:1.6; margin:0; }

/* ── Shown below 70%, in place of the school pool and the program list.
      Neutral on purpose: the flag above already carries the signal, and
      repeating it here just made the page shout. ──────────────────────── */
.as-elig-nolist {
    border-radius:16px; padding:22px 24px; margin:22px 0;
    background:var(--as-soft); border:1.5px solid var(--as-border);
}
.as-elig-nolist h4 {
    margin:0 0 8px; font-size:1.02rem; font-weight:800; color:var(--as-text);
    display:flex; align-items:center; gap:9px;
}
.as-elig-nolist h4 i { color:var(--as-muted); font-size:.95rem; }
.as-elig-nolist p { margin:0 0 10px; font-size:.87rem; line-height:1.65; color:var(--as-muted); }
.as-elig-nolist p:last-child { margin-bottom:0; }
.as-elig-nolist-note { font-size:.79rem !important; }

/* ── Next step (Bronston Canadian Academy top-up vs. advisor) ───────────── */
.as-elig-nextstep { border-radius:16px; padding:22px 24px; margin:22px 0; border:1.5px solid transparent; }
.as-elig-nextstep h4 { margin:0 0 8px; font-size:1.02rem; font-weight:800; display:flex; align-items:center; gap:9px; }
.as-elig-nextstep p { margin:0; font-size:.87rem; line-height:1.65; }
.as-elig-nextstep-bca { background:#fff7ed; border-color:#fed7aa; }
.as-elig-nextstep-bca h4 { color:#9a3412; }
.as-elig-nextstep-bca p { color:#c2410c; }
.as-elig-nextstep-agent { background:#ecfdf5; border-color:#a7f3d0; }
.as-elig-nextstep-agent h4 { color:#065f46; }
.as-elig-nextstep-agent p { color:#047857; }

.as-elig-topup-grid {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; margin-top:16px;
}
.as-elig-topup-card {
    display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid #fed7aa;
    border-radius:12px; padding:14px 16px; text-decoration:none; transition:all .15s;
}
.as-elig-topup-card:hover { border-color:var(--as-accent); transform:translateY(-1px); text-decoration:none; }
.as-elig-topup-subject { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--as-accent); }
.as-elig-topup-title { font-size:.87rem; font-weight:700; color:var(--as-text); line-height:1.35; }
.as-elig-topup-cta { font-size:.76rem; font-weight:700; color:var(--as-primary); margin-top:4px; }

/* ── Results screen ── */
.as-elig-pinned { border:1.5px solid var(--as-accent); border-radius:14px; padding:16px 18px; margin-bottom:20px; background:#fff7ed; }
.as-elig-pinned-label { font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--as-accent); margin-bottom:8px; }

.as-elig-results-list { list-style:none; margin:0 0 22px; padding:0; }
.as-elig-result-row {
    display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    border:1px solid var(--as-border); border-radius:14px; padding:16px 18px; margin-bottom:12px; transition:border-color .15s;
}
.as-elig-result-row:hover { border-color:var(--as-accent); }
.as-elig-result-main { min-width:0; flex:1 1 260px; }
.as-elig-result-name { font-weight:800; color:var(--as-primary); font-size:.95rem; }
.as-elig-result-name a { color:inherit; text-decoration:none; }
.as-elig-result-name a:hover { text-decoration:underline; }
.as-elig-result-meta { font-size:.8rem; color:var(--as-muted); margin-top:3px; }
.as-elig-result-gaps { font-size:.78rem; color:#9a3412; margin-top:6px; }
.as-elig-result-side { flex-shrink:0; display:flex; align-items:center; gap:10px; }
.as-elig-badge {
    display:inline-flex; align-items:center; gap:6px; font-size:.76rem; font-weight:800; padding:6px 13px; border-radius:50px;
}
.as-elig-badge-yes { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.as-elig-badge-no  { background:#fff7ed; color:#9a3412; border:1px solid #fed7aa; }
.as-elig-result-gpa { font-size:.78rem; font-weight:700; margin-top:7px; }
.as-elig-result-gpa i { margin-right:5px; }
.as-elig-result-gpa-met { color:#047857; }
.as-elig-result-report-btn {
    background:none; border:1.5px solid var(--as-border); border-radius:50px; padding:8px 14px;
    font-size:.76rem; font-weight:700; color:var(--as-primary); cursor:pointer; transition:all .15s; white-space:nowrap;
}
.as-elig-result-report-btn:hover { border-color:var(--as-primary); }

.as-elig-more-search { border-top:1px solid var(--as-border); padding-top:22px; margin-top:6px; }
.as-elig-more-search-title { font-size:.85rem; font-weight:700; color:var(--as-text); margin-bottom:10px; }

.as-elig-signup-cta {
    background:linear-gradient(135deg, #10284A 0%, #1B3E6F 100%); border-radius:16px; padding:26px 24px;
    text-align:center; margin:24px 0; color:#fff;
}
/* The colour here is not redundant with the panel's `color:#fff` above. The
   AdmitShark theme's style.css carries a global
   `.h1, h1, ... .h6, h6 { color: var(--headings-color) }`, and an explicit
   rule always beats an inherited value — so without this the heading renders
   in the theme's navy, on a navy panel, and disappears entirely. Any heading
   placed on a dark panel needs its own colour; inheriting is not enough. */
.as-elig-signup-cta h4 { font-size:1.05rem; font-weight:800; margin:0 0 8px; color:#fff; }
.as-elig-signup-cta p { font-size:.85rem; color:rgba(255,255,255,.8); margin:0 0 16px; }
.as-elig-signup-cta a {
    display:inline-flex; align-items:center; gap:8px; background:var(--as-accent); color:#fff; font-weight:800;
    font-size:.9rem; padding:12px 26px; border-radius:50px; text-decoration:none; transition:all .2s;
}
.as-elig-signup-cta a:hover { background:#e55a08; color:#fff; text-decoration:none; transform:translateY(-1px); }

/* ── Single-program report (narrative) — used both by the legacy 1-program
   flow and the "get a personalized report" action on a results row ── */
.as-elig-result-banner {
    display:flex; align-items:center; gap:16px; padding:22px 24px; border-radius:16px; margin-bottom:20px;
}
.as-elig-result-banner.as-elig-yes { background:#ecfdf5; border:1.5px solid #a7f3d0; }
.as-elig-result-banner.as-elig-no  { background:#fff7ed; border:1.5px solid #fed7aa; }
.as-elig-result-banner.as-elig-review { background:#f8fafc; border:1.5px solid #cbd5e1; }
.as-elig-result-icon {
    flex-shrink:0; width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; color:#fff;
}
.as-elig-yes .as-elig-result-icon { background:#10b981; }
.as-elig-no .as-elig-result-icon { background:var(--as-accent); }
.as-elig-review .as-elig-result-icon { background:#64748b; }
.as-elig-result-banner h4 { margin:0 0 3px; font-size:1.1rem; font-weight:800; }
.as-elig-yes h4 { color:#065f46; }
.as-elig-no h4 { color:#9a3412; }
.as-elig-review h4 { color:#334155; }
.as-elig-result-banner p { margin:0; font-size:.88rem; }
.as-elig-yes p { color:#047857; }
.as-elig-no p { color:#c2410c; }
.as-elig-review p { color:#64748b; }

.as-elig-breakdown { list-style:none; margin:0 0 20px; padding:0; border:1px solid var(--as-border); border-radius:14px; overflow:hidden; }
.as-elig-breakdown li {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:14px 18px; border-bottom:1px solid var(--as-border); font-size:.88rem;
}
.as-elig-breakdown li:last-child { border-bottom:0; }
.as-elig-breakdown-label { color:var(--as-muted); font-weight:600; }
.as-elig-breakdown-val { text-align:right; font-weight:700; color:var(--as-text); }
.as-elig-breakdown-val small { display:block; font-weight:500; color:var(--as-muted); font-size:.74rem; margin-top:1px; }
.as-elig-check-icon { margin-right:6px; }
.as-elig-breakdown li.as-elig-met .as-elig-check-icon { color:#10b981; }
.as-elig-breakdown li.as-elig-gap .as-elig-check-icon { color:var(--as-accent); }
.as-elig-breakdown li.as-elig-gpa-row { background:#fffbf5; }
.as-elig-breakdown li.as-elig-gpa-row .as-elig-breakdown-label { color:var(--as-primary); font-weight:800; }

.as-elig-report { font-size:.95rem; line-height:1.75; color:var(--as-text); margin-bottom:24px; }
.as-elig-report p { margin:0 0 14px; }
.as-elig-report ul { margin:0 0 14px; padding-left:20px; }
.as-elig-report strong { color:var(--as-primary); }

.as-elig-courses-title { font-size:.95rem; font-weight:800; color:var(--as-primary); margin:0 0 12px; }
.as-elig-course-card {
    display:flex; align-items:center; gap:14px; background:var(--as-soft); border:1px solid var(--as-border);
    border-radius:12px; padding:14px 16px; margin-bottom:10px; text-decoration:none; transition:all .15s;
}
.as-elig-course-card:hover { background:#fff; border-color:var(--as-accent); transform:translateY(-1px); text-decoration:none; }
.as-elig-course-ico {
    flex-shrink:0; width:38px; height:38px; border-radius:10px; background:rgba(249,102,10,.12);
    color:var(--as-accent); display:flex; align-items:center; justify-content:center;
}
.as-elig-course-name { font-weight:700; color:var(--as-text); font-size:.88rem; }
.as-elig-course-reason { font-size:.76rem; color:var(--as-muted); margin-top:2px; }

.as-elig-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
.as-elig-actions a, .as-elig-actions button {
    flex:1; min-width:180px; text-align:center; padding:14px; border-radius:12px; font-weight:800; font-size:.9rem;
    cursor:pointer; transition:all .2s; text-decoration:none; border:1.5px solid transparent;
}
.as-elig-actions .as-elig-primary { background:var(--as-accent); color:#fff; }
.as-elig-actions .as-elig-primary:hover { background:#e55a08; color:#fff; text-decoration:none; }
.as-elig-actions .as-elig-ghost { background:#fff; color:var(--as-primary); border-color:var(--as-border); }
.as-elig-actions .as-elig-ghost:hover { border-color:var(--as-primary); }

.as-elig-thinking { display:flex; align-items:center; gap:10px; color:var(--as-muted); font-size:.88rem; padding:8px 0; }
.as-elig-thinking .as-elig-dot { width:7px; height:7px; border-radius:50%; background:var(--as-accent); animation:as-elig-bounce 1.1s infinite ease-in-out; }
.as-elig-thinking .as-elig-dot:nth-child(2) { animation-delay:.15s; }
.as-elig-thinking .as-elig-dot:nth-child(3) { animation-delay:.3s; }
@keyframes as-elig-bounce { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-5px); opacity:1; } }

/* ── Inline single-program report modal (rendered inside a result row) ── */
.as-elig-inline-report { border-top:1px solid var(--as-border); margin-top:14px; padding-top:14px; width:100%; }

@media (max-width:575.98px) {
    .as-elig-wrap { margin-top:-40px; }
    .as-elig-card { padding:22px; }
    .as-elig-result-row { flex-direction:column; align-items:flex-start; }
    .as-elig-result-side { width:100%; justify-content:space-between; }
    .as-elig-scores-panel { padding:16px 14px 12px; }
    .as-elig-verdict { padding:20px; gap:16px; }
    .as-elig-verdict-value { font-size:2.3rem; }
    .as-elig-bandschool-list { grid-template-columns:1fr; max-height:340px; }
}
