:root{
  --navy:#0f2742;
  --blue:#1d4f8f;
  --red:#b4232a;
  --gold:#c89b3c;
  --bg:#f3f6fb;
  --text:#172033;
  --muted:#687385;
  --card:#fff;
  --line:#dfe6ef;
  --good:#166534;
  --warn:#92400e;
  --bad:#991b1b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{transition:all .18s ease}
.wrap{max-width:1220px;margin:0 auto;padding:0 20px}
.site-header{background:linear-gradient(90deg,#0c1f35 0%,#12365d 100%);color:#fff;box-shadow:0 2px 14px rgba(0,0,0,.12);position:sticky;top:0;z-index:20}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:850;font-size:1.08rem;color:#fff;text-decoration:none;letter-spacing:.2px;text-transform:uppercase}
nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;font-weight:700;opacity:.97}
nav a:hover{opacity:1;text-decoration:underline}
.button,button{display:inline-block;border:0;border-radius:10px;background:var(--red);color:#fff;text-decoration:none;padding:11px 17px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(15,39,66,.12)}
.button:hover,button:hover{transform:translateY(-1px)}
.button.secondary{background:var(--blue)}
.button.ghost{background:#fff;color:var(--navy);border:1px solid #c8d4e6;box-shadow:none}
.button.small{padding:8px 13px}
.button.tiny{padding:6px 10px;font-size:.85rem}
main{padding:24px 20px 56px}
.home-banner{margin:4px 0 20px;border-radius:18px;overflow:hidden;box-shadow:0 16px 34px rgba(10,27,48,.15);background:#0c1f35}
.home-banner img{display:block;width:100%;height:auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin:18px 0;box-shadow:0 10px 26px rgba(12,32,60,.06)}
.section-accent{height:4px;border-radius:999px;margin:-4px 0 18px;width:120px;background:var(--navy)}
.section-accent.red{background:var(--red)}
.section-accent.blue{background:var(--blue)}
.section-accent.gold{background:var(--gold)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--blue);font-weight:900;margin:0 0 10px}
.home-intro{padding:26px 28px}
.home-intro h1{margin:0 0 12px;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.1;color:var(--navy)}
.home-intro p{margin:0;color:#30435b;font-size:1.05rem;max-width:820px}
.intro-layout{display:grid;grid-template-columns:1.65fr .9fr;gap:30px;align-items:center}
.intro-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.card-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.portal-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;color:inherit;box-shadow:0 10px 26px rgba(12,32,60,.06)}
.portal-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(12,32,60,.10)}
.portal-card h2{margin:0 0 10px;color:var(--navy);font-size:1.35rem}
.portal-card p{margin:0 0 16px;color:#526276}
.card-cta{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:850}
.card-cta::after{content:"→";font-size:1rem}
.home-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.info-card h2{margin:0 0 8px;color:var(--navy)}
.info-card p{margin:0;color:#526276}
.narrow{max-width:520px;margin:26px auto}
.grid{display:grid;grid-template-columns:1fr 1.35fr;gap:20px;align-items:start}
.stats{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}
.stat{background:#fff;border:1px solid var(--line);border-left:6px solid var(--red);border-radius:14px;padding:18px 22px;min-width:200px}
.stat strong{font-size:2rem;display:block;color:var(--navy)}
.stat span{color:var(--muted);font-weight:700}
label{display:block;margin:12px 0 6px;font-weight:750}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cdd6e2;border-radius:8px;font:inherit;background:#fff}
.check{display:flex;gap:10px;align-items:center;font-weight:750}
.check input{width:auto}.user-actions{min-width:280px}
table{width:100%;border-collapse:collapse;margin-top:8px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px;vertical-align:top}th{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#465469;background:#f8fafc}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.8rem;font-weight:800;text-transform:capitalize}.badge.approved{background:#dcfce7;color:var(--good)}.badge.pending{background:#fef3c7;color:var(--warn)}.badge.rejected{background:#fee2e2;color:var(--bad)}.alert{background:#e0f2fe;border:1px solid #7dd3fc;color:#0c4a6e;padding:14px 16px;border-radius:12px;margin:0 0 18px}.muted,small{color:var(--muted)}.search{display:grid;grid-template-columns:1fr auto;gap:12px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline input{max-width:180px}.inline button{padding:7px 10px;background:var(--blue)}.inline button[value=reject]{background:var(--bad)}.footer{background:#0a1b30;color:#cbd5e1;padding:24px 0;margin-top:40px}.cert-body{background:#e9edf3}.print-actions{max-width:980px;margin:18px auto;display:flex;gap:10px;align-items:center}.certificate{max-width:980px;min-height:660px;margin:0 auto 40px;background:#fff;border:12px solid var(--navy);outline:4px solid var(--red);padding:70px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.12)}.certificate h1{font-family:Georgia,serif;font-size:3rem;color:var(--navy);margin:18px 0}.certificate h2{font-size:2.5rem;margin:18px 0;color:var(--red)}.cert-org{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--blue)}.cert-hours{display:inline-block;border-top:2px solid var(--line);border-bottom:2px solid var(--line);padding:16px 32px;margin:22px 0;font-size:1.5rem;font-weight:900}.cert-footer{display:flex;justify-content:space-between;margin-top:70px;color:#475569}
@media(max-width:950px){.intro-layout,.card-link-grid,.home-info-grid,.grid{grid-template-columns:1fr}.intro-actions{align-items:flex-start}.portal-card,.info-card{height:auto}}
@media(max-width:850px){.nav{align-items:flex-start;flex-direction:column;padding:14px 20px}nav{width:100%}.search{grid-template-columns:1fr}table{font-size:.92rem}th,td{padding:8px}.certificate{padding:36px 22px}.cert-footer{display:block}.print-actions{padding:0 14px}.home-banner{border-radius:14px}.home-intro{padding:22px}}
@media print{.print-actions{display:none}.certificate{box-shadow:none;margin:0;border-width:10px;outline:3px solid #000}body{background:#fff}}


/* Public homepage redesign */
main.wrap:has(.public-home){
  max-width:none;
  padding:0 0 56px;
}
.public-home{
  max-width:none;
}
.home-hero{
  width:100%;
  background:#071b32;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(10,27,48,.22);
}
.home-hero img{
  display:block;
  width:100%;
  height:clamp(220px, 30vw, 385px);
  object-fit:cover;
  object-position:center center;
}
.home-welcome{
  max-width:1180px;
  margin:28px auto 18px;
  padding:0 20px;
  text-align:center;
}
.home-welcome .eyebrow{
  margin:0 0 8px;
  color:var(--red);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.8rem;
}
.home-welcome h1{
  margin:0;
  color:var(--navy);
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.05;
  font-weight:900;
}
.home-welcome p{
  max-width:760px;
  margin:12px auto 0;
  color:#41536a;
  font-size:1.08rem;
}
.main-link-cards{
  max-width:1180px;
  margin:24px auto 0;
  padding:0 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.main-link-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:292px;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:18px;
  padding:0 24px 24px;
  text-decoration:none;
  color:var(--text);
  box-shadow:0 14px 30px rgba(12,32,60,.08);
  overflow:hidden;
}
.main-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(12,32,60,.13);
}
.card-topline{
  height:7px;
  margin:0 -24px 22px;
  background:var(--red);
}
.blue-card .card-topline{background:var(--blue);}
.card-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.65rem;
  background:#f1f5f9;
  border:1px solid #dce5ef;
  margin-bottom:18px;
}
.red-card .card-icon{
  color:var(--red);
}
.blue-card .card-icon{
  color:var(--blue);
}
.main-link-card h2{
  margin:0 0 9px;
  color:var(--navy);
  font-size:1.45rem;
  line-height:1.15;
}
.main-link-card p{
  margin:0 0 22px;
  color:#526276;
  flex:1;
}
.card-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  border-radius:10px;
  padding:10px 15px;
  background:var(--navy);
  color:#fff;
  font-weight:900;
}
.red-card .card-button{background:var(--red);}
.blue-card .card-button{background:var(--blue);}
.home-note{
  max-width:1180px;
  margin:24px auto 0;
  padding:18px 22px;
  background:#fff;
  border:1px solid #dfe6ef;
  border-left:6px solid var(--red);
  border-radius:16px;
  color:#34455c;
  box-shadow:0 10px 24px rgba(12,32,60,.06);
}
@media(max-width:900px){
  .main-link-cards{grid-template-columns:1fr;}
  .main-link-card{min-height:auto;}
  .home-hero img{
    height:clamp(170px, 38vw, 260px);
    object-position:center center;
  }
}
@media(max-width:560px){
  .home-hero img{
    height:170px;
  }
  .home-welcome{
    margin-top:22px;
  }
}


/* V2 definitive homepage layout - no :has() dependency */
main.home-main{
  max-width:none !important;
  width:100% !important;
  padding:0 0 56px !important;
  margin:0 !important;
}
main.home-main .public-home{
  width:100%;
  max-width:none;
  margin:0;
}
main.home-main .home-hero{
  width:100%;
  margin:0;
  border-radius:0;
  overflow:hidden;
  background:#071b32;
  box-shadow:0 12px 28px rgba(10,27,48,.22);
}
main.home-main .home-hero img{
  display:block;
  width:100%;
  height:360px;
  object-fit:cover;
  object-position:center center;
}
main.home-main .home-welcome,
main.home-main .main-link-cards,
main.home-main .home-note{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
main.home-main .home-welcome{
  padding:34px 20px 6px;
  text-align:center;
}
main.home-main .home-welcome h1{
  font-size:clamp(2.2rem, 4vw, 3.4rem);
}
main.home-main .main-link-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  padding:0 20px;
  margin-top:22px;
}
main.home-main .main-link-card{
  min-height:305px;
  border-radius:18px;
  border:1px solid #dfe6ef;
  background:#fff;
  box-shadow:0 14px 30px rgba(12,32,60,.08);
  padding:0 24px 24px;
}
main.home-main .card-topline{
  height:7px;
  margin:0 -24px 22px;
}
main.home-main .home-note{
  margin-top:24px;
  padding:18px 22px;
}
@media(max-width:900px){
  main.home-main .home-hero img{height:250px;}
  main.home-main .main-link-cards{grid-template-columns:1fr;}
  main.home-main .main-link-card{min-height:auto;}
}
@media(max-width:560px){
  main.home-main .home-hero img{height:175px;}
}


/* Final ACTC portal updates */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.nav-logo{
  width:78px;
  height:auto;
  display:block;
  background:#fff;
  border-radius:2px;
  padding:3px;
}
main.home-main .home-hero.fit-banner{
  background:#071b32;
  overflow:hidden;
}
main.home-main .home-hero.fit-banner img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center;
}
main.home-main .main-link-cards.five-cards{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
main.home-main .main-link-cards.five-cards .main-link-card{
  min-height:285px;
}
.dashboard-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.dashboard-cards .main-link-card{
  min-height:255px;
}
.public-search-form{
  grid-template-columns:1fr 1fr 190px auto;
  align-items:end;
}
.public-search-form label{
  margin:0;
}
.public-search-form input,
.public-search-form select{
  min-height:46px;
}
.user-edit-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  min-width:360px;
}
.user-edit-form label{
  margin:0;
}
.user-edit-form button{
  align-self:end;
}
.admin-review-form label{
  margin:0;
}
.admin-review-form input[type="number"]{
  max-width:120px;
}
hr{
  border:0;
  border-top:1px solid var(--line);
  margin:18px 0;
}
@media(max-width:1180px){
  main.home-main .main-link-cards.five-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px){
  main.home-main .main-link-cards.five-cards,
  .dashboard-cards,
  .public-search-form{
    grid-template-columns:1fr;
  }
  .user-edit-form{grid-template-columns:1fr;}
  .nav-logo{width:64px;}
}


/* Round 2 fixes */
main.home-main .home-hero.fit-banner{
  max-width:1120px !important;
  margin:22px auto 0 !important;
  border-radius:16px !important;
  background:#071b32 !important;
}
main.home-main .home-hero.fit-banner img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}
.nav-logo{
  width:118px !important;
  max-height:42px !important;
  object-fit:contain;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
}
.brand span{
  color:#fff;
}
.public-search-form{
  grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) 180px auto !important;
  align-items:end !important;
}
.public-search-form label,
.year-search label{
  margin:0 !important;
}
.public-search-form input,
.public-search-form select,
.year-search select{
  height:48px !important;
  min-height:48px !important;
  line-height:1.2 !important;
  padding:0 12px !important;
  background:#fff !important;
}
.year-search{
  grid-template-columns:minmax(220px,1fr) auto !important;
  align-items:end !important;
  max-width:820px;
}
.admin-dashboard-cards{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.user-card-list{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:20px;
}
.user-admin-card{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:24px;
  align-items:start;
}
.user-card-summary h2{
  margin:0 0 4px;
  color:var(--navy);
}
.user-meta{
  display:grid;
  gap:8px;
  margin-top:14px;
  color:#34455c;
}
.user-card-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:14px;
  align-items:end;
}
.user-card-form label{
  margin:0;
}
.user-card-form .check{
  align-self:center;
}
.user-card-form button{
  min-height:46px;
}
select{
  white-space:normal;
}
@media(max-width:1100px){
  .admin-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .user-admin-card{grid-template-columns:1fr;}
  .user-card-form{grid-template-columns:repeat(2,minmax(180px,1fr));}
}
@media(max-width:900px){
  main.home-main .home-hero.fit-banner{
    max-width:100% !important;
    border-radius:0 !important;
    margin-top:0 !important;
  }
  .public-search-form,
  .year-search,
  .admin-dashboard-cards{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:640px){
  .user-card-form{grid-template-columns:1fr;}
}


/* Round 3 fixes */
.actc-header-logo{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
}
.actc-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  height:34px;
  padding:0 12px;
  border:2px solid #fff;
  color:#fff;
  font-weight:950;
  font-size:1.35rem;
  line-height:1;
  letter-spacing:.03em;
}
.actc-logo-text{
  color:#fff;
  font-weight:900;
  line-height:1.05;
  font-size:.96rem;
  white-space:nowrap;
}
.brand-title{
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
  margin-left:4px;
}
.admin-filter-form{
  display:grid;
  grid-template-columns:repeat(5,minmax(160px,1fr));
  gap:14px;
  align-items:end;
}
.admin-filter-form label{
  margin:0;
}
.admin-filter-form input,
.admin-filter-form select{
  height:46px;
}
.admin-filter-form button{
  min-height:46px;
}
.admin-review-form{
  align-items:flex-end;
}
.admin-review-form textarea{
  min-width:220px;
  min-height:78px;
}
textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid #cdd6e2;
  border-radius:8px;
  font:inherit;
  background:#fff;
}
@media(max-width:1100px){
  .admin-filter-form{
    grid-template-columns:repeat(2,minmax(160px,1fr));
  }
}
@media(max-width:700px){
  .actc-logo-text{
    display:none;
  }
  .actc-box{
    min-width:76px;
    height:30px;
    font-size:1.1rem;
  }
  .brand-title{
    font-size:.9rem;
  }
  .admin-filter-form{
    grid-template-columns:1fr;
  }
}


/* Round 4 updates */
main.home-main .home-hero.fit-banner{
  max-width:760px !important;
  margin:22px auto 0 !important;
  border-radius:14px !important;
  background:#071b32 !important;
  box-shadow:0 10px 24px rgba(10,27,48,.18) !important;
}
main.home-main .home-hero.fit-banner img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
.actc-header-logo{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#fff !important;
  margin-right:18px !important;
}
.actc-box{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:92px !important;
  height:34px !important;
  border:2px solid #fff !important;
  color:#fff !important;
  font-weight:950 !important;
  font-size:1.32rem !important;
  line-height:1 !important;
  letter-spacing:.03em !important;
  padding:0 !important;
  background:transparent !important;
}
.actc-logo-text{
  color:#fff !important;
  font-weight:850 !important;
  line-height:1.05 !important;
  font-size:.92rem !important;
  white-space:nowrap !important;
  text-transform:none !important;
}
.brand-title{
  color:#fff !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  margin-left:0 !important;
  padding-left:16px !important;
  border-left:1px solid rgba(255,255,255,.35) !important;
}
.complete-stat{
  border-left-color:#166534 !important;
  background:#ecfdf5 !important;
}
.complete-stat strong{
  color:#166534 !important;
}
.rejected-alert{
  background:#fff7ed !important;
  border-color:#fdba74 !important;
  color:#7c2d12 !important;
}
.rejected-alert a{
  color:#991b1b;
  font-weight:900;
}
.admin-dashboard-cards{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
.admin-dashboard-cards .main-link-card{
  min-height:280px !important;
}
.admin-filter-form{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(160px,1fr)) !important;
  gap:14px !important;
  align-items:end !important;
}
.admin-filter-form label{
  margin:0 !important;
}
.admin-filter-form input,
.admin-filter-form select{
  height:46px !important;
}
.admin-review-form textarea{
  min-width:220px;
  min-height:78px;
}
@media(max-width:1280px){
  .admin-dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:900px){
  main.home-main .home-hero.fit-banner{
    max-width:100% !important;
    margin-top:0 !important;
    border-radius:0 !important;
  }
  .admin-dashboard-cards,
  .admin-filter-form{
    grid-template-columns:1fr !important;
  }
  .brand{
    gap:10px !important;
  }
  .actc-logo-text{
    display:none !important;
  }
  .actc-header-logo{
    margin-right:8px !important;
  }
  .brand-title{
    padding-left:10px !important;
  }
}


/* Email import / draft workflow */
.draft-alert{
  background:#eff6ff !important;
  border-color:#93c5fd !important;
  color:#1e3a8a !important;
}
.draft-alert a{
  color:#1d4ed8;
  font-weight:900;
}


/* Final homepage/email polish */
main.home-main .home-hero.fit-banner{
  max-width:1040px !important;
  width:calc(100% - 40px) !important;
  margin:22px auto 0 !important;
}
main.home-main .home-hero.fit-banner img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
.site-header .brand{
  min-width:0;
}
.site-header .actc-header-logo{
  flex-shrink:0;
}
.draft-alert{
  background:#eff6ff !important;
  border-color:#93c5fd !important;
  color:#1e3a8a !important;
}
.draft-alert a{
  color:#1d4ed8;
  font-weight:900;
}
@media(max-width:900px){
  main.home-main .home-hero.fit-banner{
    width:100% !important;
    max-width:100% !important;
    margin-top:0 !important;
  }
}

.import-output{
  white-space:pre-wrap;
  background:#0f172a;
  color:#e2e8f0;
  padding:16px;
  border-radius:10px;
  overflow:auto;
}


/* Upload progress bar */
.upload-progress-wrap{
  display:none;
  margin:16px 0;
  padding:14px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
}
.upload-progress-label{
  font-weight:800;
  color:var(--navy);
  margin-bottom:8px;
}
.upload-progress-track{
  height:16px;
  background:#e2e8f0;
  border-radius:999px;
  overflow:hidden;
  border:1px solid #cbd5e1;
}
.upload-progress-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--blue), var(--red));
  border-radius:999px;
  transition:width .18s ease;
}
.upload-progress-percent{
  margin-top:6px;
  font-weight:800;
  color:#34455c;
  text-align:right;
}


/* Upload progress popup */
.upload-progress-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8, 24, 43, .58);
  backdrop-filter:blur(3px);
}
.upload-progress-dialog{
  width:min(460px, 100%);
  background:#fff;
  border-radius:18px;
  padding:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  border:1px solid #dbe4ef;
  text-align:left;
}
.upload-progress-dialog h2{
  margin:0 0 8px;
  color:var(--navy);
}
.upload-progress-dialog .upload-progress-label{
  margin:0 0 12px;
  font-weight:800;
  color:#34455c;
}
.upload-progress-dialog .upload-progress-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.95rem;
}
.upload-progress-dialog .upload-progress-track{
  height:18px;
  background:#e2e8f0;
  border-radius:999px;
  overflow:hidden;
  border:1px solid #cbd5e1;
}
.upload-progress-dialog .upload-progress-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--blue), var(--red));
  border-radius:999px;
  transition:width .18s ease;
}
.upload-progress-dialog .upload-progress-percent{
  margin-top:8px;
  font-weight:900;
  color:#34455c;
  text-align:right;
}
.upload-progress-closing{
  opacity:0;
  transition:opacity .25s ease;
}


/* Training history journal */
.history-timeline{
  position:relative;
  margin:10px 0 0;
  padding-left:28px;
}
.history-timeline::before{
  content:"";
  position:absolute;
  left:9px;
  top:4px;
  bottom:4px;
  width:2px;
  background:#d7e0ec;
}
.history-item{
  position:relative;
  margin:0 0 18px;
}
.history-dot{
  position:absolute;
  left:-26px;
  top:4px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--blue);
  border:3px solid #fff;
  box-shadow:0 0 0 2px #d7e0ec;
}
.history-content{
  background:#f8fafc;
  border:1px solid #dfe6ef;
  border-radius:14px;
  padding:14px 16px;
}
.history-content h3{
  margin:0 0 4px;
  color:var(--navy);
}
.history-content p{
  margin:6px 0;
}
.secondary-action{
  background:var(--blue) !important;
  margin-right:6px;
}


/* Admin attention banner */
.admin-attention-banner{
  background:linear-gradient(135deg,#fff7ed,#fff);
  border:1px solid #fdba74;
  border-left:7px solid #ea580c;
  border-radius:18px;
  padding:20px 22px;
  margin:0 0 22px;
  box-shadow:0 12px 28px rgba(124,45,18,.08);
}
.admin-attention-banner h2{
  margin:0 0 12px;
  color:#7c2d12;
}
.attention-items{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.attention-items a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 16px;
  background:#fff;
  border:1px solid #fed7aa;
  border-radius:14px;
  color:#7c2d12;
  text-decoration:none;
  font-weight:800;
}
.attention-items a:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(124,45,18,.12);
}
.attention-items strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  border-radius:999px;
  background:#ea580c;
  color:#fff;
  font-size:1.2rem;
}

/* Admin processing modal */
.processing-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,24,43,.58);
  backdrop-filter:blur(3px);
}
.processing-dialog{
  width:min(430px,100%);
  background:#fff;
  border-radius:18px;
  padding:28px 24px;
  text-align:center;
  border:1px solid #dbe4ef;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.processing-dialog h2{
  margin:12px 0 8px;
  color:var(--navy);
}
.processing-dialog p{
  margin:0;
  color:var(--muted);
}
.processing-spinner{
  width:54px;
  height:54px;
  margin:0 auto;
  border-radius:999px;
  border:6px solid #dbeafe;
  border-top-color:var(--blue);
  animation:processingSpin .8s linear infinite;
}
@keyframes processingSpin{
  to{transform:rotate(360deg)}
}


/* Compliance statuses */
.badge.noncompliant{
  background:#fee2e2;
  color:#991b1b;
}
.badge.inprogress{
  background:#ffedd5;
  color:#9a3412;
}
.badge.compliant{
  background:#dcfce7;
  color:#166534;
}
.compliance-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 22px;
  border-radius:16px;
  margin:0 0 18px;
  border:1px solid #dbe4ef;
  box-shadow:0 10px 26px rgba(12,32,60,.06);
  font-size:1.08rem;
}
.compliance-banner strong{
  font-size:1.22rem;
}
.compliance-banner.noncompliant{
  background:#fef2f2;
  border-left:7px solid #dc2626;
  color:#7f1d1d;
}
.compliance-banner.inprogress{
  background:#fff7ed;
  border-left:7px solid #f97316;
  color:#7c2d12;
}
.compliance-banner.compliant{
  background:#ecfdf5;
  border-left:7px solid #16a34a;
  color:#14532d;
}

/* Larger red admin dashboard alert */
.admin-attention-banner{
  background:#fef2f2 !important;
  border:2px solid #fecaca !important;
  border-left:9px solid #dc2626 !important;
  padding:24px 26px !important;
}
.admin-attention-banner h2{
  color:#7f1d1d !important;
  font-size:1.55rem !important;
}
.attention-items a{
  border:1px solid #fecaca !important;
  color:#7f1d1d !important;
  font-size:1.05rem !important;
}
.attention-items strong{
  background:#dc2626 !important;
}
@media(max-width:700px){
  .compliance-banner{
    display:block;
  }
  .compliance-banner span{
    display:block;
    margin-top:6px;
  }
}


/* Final polish: course names and dashboard alert */
.course-title-short{
  max-width:75ch;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Make admin dashboard notification match the large action-required notice style */
main.wrap .admin-attention-banner{
  background:#fff7ed !important;
  border:1px solid #fdba74 !important;
  border-left:0 !important;
  border-radius:18px !important;
  padding:28px 32px !important;
  margin:0 0 30px !important;
  box-shadow:none !important;
  color:#7c2d12 !important;
}
main.wrap .admin-attention-banner h2{
  margin:0 0 14px !important;
  color:#7c2d12 !important;
  font-size:1.45rem !important;
  font-weight:900 !important;
}
main.wrap .attention-items{
  display:block !important;
}
main.wrap .attention-items a{
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:10px 0 10px 38px !important;
  color:#7c2d12 !important;
  font-size:1.18rem !important;
  line-height:1.35 !important;
  text-decoration:none !important;
  position:relative !important;
}
main.wrap .attention-items a::before{
  content:"•";
  position:absolute;
  left:18px;
  top:10px;
  color:#7c2d12;
  font-weight:900;
}
main.wrap .attention-items a strong{
  display:inline !important;
  min-width:0 !important;
  height:auto !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#7c2d12 !important;
  font-size:1.18rem !important;
  text-decoration:underline !important;
  margin-right:6px !important;
}
main.wrap .attention-items a span{
  color:#7c2d12 !important;
}

/* Make processing popup more obvious */
.processing-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(8,24,43,.62) !important;
  backdrop-filter:blur(3px) !important;
}
.processing-dialog{
  width:min(460px,100%) !important;
  background:#fff !important;
  border-radius:18px !important;
  padding:30px 26px !important;
  text-align:center !important;
  border:1px solid #dbe4ef !important;
  box-shadow:0 24px 80px rgba(0,0,0,.28) !important;
}
.processing-spinner{
  width:60px !important;
  height:60px !important;
}


/* Compliance dashboard banner and public-search status bubbles */
.compliance-banner{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:22px !important;
  padding:18px 24px !important;
  border-radius:18px !important;
  margin:0 0 20px !important;
  font-size:1.08rem !important;
  box-shadow:0 10px 26px rgba(12,32,60,.06) !important;
}
.compliance-banner strong{
  font-size:1.24rem !important;
  white-space:nowrap !important;
}
.compliance-detail{
  display:inline-block !important;
  padding-left:4px !important;
}
.compliance-banner.noncompliant{
  background:rgba(220,38,38,.13) !important;
  border:1px solid rgba(220,38,38,.32) !important;
  border-left:8px solid #dc2626 !important;
  color:#7f1d1d !important;
}
.compliance-banner.inprogress{
  background:rgba(249,115,22,.16) !important;
  border:1px solid rgba(249,115,22,.36) !important;
  border-left:8px solid #f97316 !important;
  color:#7c2d12 !important;
}
.compliance-banner.compliant{
  background:rgba(22,163,74,.15) !important;
  border:1px solid rgba(22,163,74,.35) !important;
  border-left:8px solid #16a34a !important;
  color:#14532d !important;
}

/* Public search / compliance bubbles */
.badge.noncompliant,
.badge.inprogress,
.badge.compliant{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  padding:7px 12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  border:1px solid transparent !important;
}
.badge.noncompliant{
  background:rgba(220,38,38,.14) !important;
  color:#991b1b !important;
  border-color:rgba(220,38,38,.28) !important;
}
.badge.inprogress{
  background:rgba(249,115,22,.18) !important;
  color:#9a3412 !important;
  border-color:rgba(249,115,22,.34) !important;
}
.badge.compliant{
  background:rgba(22,163,74,.16) !important;
  color:#166534 !important;
  border-color:rgba(22,163,74,.30) !important;
}

@media(max-width:700px){
  .compliance-banner{
    display:block !important;
  }
  .compliance-detail{
    display:block !important;
    margin-top:8px !important;
    padding-left:0 !important;
  }
}


/* STRONG compliance status fix */
.compliance-banner{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  padding:20px 26px !important;
  border-radius:18px !important;
  margin:0 0 22px !important;
  font-size:1.12rem !important;
  box-shadow:0 10px 26px rgba(12,32,60,.07) !important;
}
.compliance-banner strong{
  font-size:1.28rem !important;
  white-space:nowrap !important;
}
.compliance-detail{
  display:inline-block !important;
  margin-left:10px !important;
}
.compliance-banner.noncompliant{
  background:rgba(220,38,38,.16) !important;
  border:1px solid rgba(220,38,38,.38) !important;
  border-left:9px solid #dc2626 !important;
  color:#7f1d1d !important;
}
.compliance-banner.inprogress{
  background:rgba(249,115,22,.18) !important;
  border:1px solid rgba(249,115,22,.42) !important;
  border-left:9px solid #f97316 !important;
  color:#7c2d12 !important;
}
.compliance-banner.compliant{
  background:rgba(22,163,74,.18) !important;
  border:1px solid rgba(22,163,74,.40) !important;
  border-left:9px solid #16a34a !important;
  color:#14532d !important;
}
.status-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  padding:8px 14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  border:1px solid transparent !important;
}
.status-pill.noncompliant{
  background:rgba(220,38,38,.16) !important;
  color:#991b1b !important;
  border-color:rgba(220,38,38,.34) !important;
}
.status-pill.inprogress{
  background:rgba(249,115,22,.20) !important;
  color:#9a3412 !important;
  border-color:rgba(249,115,22,.38) !important;
}
.status-pill.compliant{
  background:rgba(22,163,74,.18) !important;
  color:#166534 !important;
  border-color:rgba(22,163,74,.35) !important;
}
@media(max-width:700px){
  .compliance-banner{
    display:block !important;
  }
  .compliance-detail{
    display:block !important;
    margin-left:0 !important;
    margin-top:8px !important;
  }
}


/* Public search status explanation */
.status-explainer h2{
  margin-top:0;
  color:var(--navy);
}
.status-explainer p{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:12px 0;
}
.status-explainer .status-pill{
  min-width:132px;
}


/* Final records table formatting */
.card table{
  table-layout:auto;
}
.course-cell{
  max-width:340px;
  min-width:220px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.provider-cell{
  max-width:160px;
  overflow-wrap:anywhere;
}
.date-cell,.hours-cell,.status-cell,.certificate-cell,.action-cell{
  white-space:nowrap;
}
.notes-cell{
  max-width:230px;
  min-width:170px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.certificate-cell .button,
.action-cell .button{
  margin:2px 3px 2px 0;
}
.status-guide-extra{
  margin-top:22px !important;
}

/* Make user upload/draft processing match admin popup */
.processing-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(8,24,43,.62) !important;
  backdrop-filter:blur(3px) !important;
}
.processing-dialog{
  width:min(460px,100%) !important;
  background:#fff !important;
  border-radius:18px !important;
  padding:30px 26px !important;
  text-align:center !important;
  border:1px solid #dbe4ef !important;
  box-shadow:0 24px 80px rgba(0,0,0,.28) !important;
}
.processing-dialog h2{
  margin:12px 0 8px !important;
  color:var(--navy) !important;
}
.processing-dialog p{
  margin:8px 0 0 !important;
  color:var(--muted) !important;
}
.processing-spinner{
  width:60px !important;
  height:60px !important;
  margin:0 auto !important;
  border-radius:999px !important;
  border:6px solid #dbeafe !important;
  border-top-color:var(--blue) !important;
  animation:processingSpin .8s linear infinite !important;
}
.upload-progress-track{
  height:16px !important;
  background:#e2e8f0 !important;
  border-radius:999px !important;
  overflow:hidden !important;
  border:1px solid #cbd5e1 !important;
  margin-top:14px !important;
}
.upload-progress-bar{
  height:100% !important;
  width:0%;
  background:linear-gradient(90deg,var(--blue),var(--red)) !important;
  border-radius:999px !important;
  transition:width .18s ease !important;
}
.upload-progress-percent{
  margin-top:8px !important;
  font-weight:900 !important;
  color:#34455c !important;
  text-align:right !important;
}
@keyframes processingSpin{
  to{transform:rotate(360deg)}
}


/* Cloudflare Turnstile */
.turnstile-wrap{margin:14px 0;display:flex;justify-content:center;}


/* Official State of Alabama Government banner */
.official-state-banner{
  position:relative;
  z-index:10000;
  background:#f7f9fb;
  border-bottom:1px solid #d6dee8;
  color:#1b2b42;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
}
.official-state-inner{
  max-width:1180px;
  margin:0 auto;
  padding:8px 18px;
}
.official-state-summary{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.official-state-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#b91c1c;
  color:#fff;
  font-size:13px;
  font-weight:900;
  box-shadow:inset 0 0 0 2px #fff;
}
.official-state-toggle{
  border:0;
  background:transparent;
  color:#005ea8;
  text-decoration:underline;
  cursor:pointer;
  padding:0;
  font:inherit;
  font-weight:700;
}
.official-state-toggle::after{
  content:" ▾";
  text-decoration:none;
}
.official-state-toggle[aria-expanded="true"]::after{
  content:" ▴";
}
.official-state-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:10px;
  padding:12px 0 8px;
}
.official-state-detail{
  display:flex;
  gap:12px;
  line-height:1.35;
}
.official-state-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  border-radius:8px;
  background:#e7eef7;
  color:#1b2b42;
  font-weight:900;
  font-size:13px;
}
@media(max-width:700px){
  .official-state-details{
    grid-template-columns:1fr;
  }
}

/* Exact USWDS official banner override */
.official-state-banner{display:none !important;}

.official-state-uswds,
.official-state-uswds *{
  box-sizing:border-box;
}

.official-state-uswds{
  position:relative;
  z-index:10000;
  background:#f0f0f0;
  border-bottom:1px solid #dfe1e2;
  color:#1b1b1b;
  font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
  font-size:13px;
  line-height:1.35;
}

.official-state-uswds .usa-banner__header{
  min-height:32px;
  padding:4px 0;
}

.official-state-uswds .usa-banner__inner{
  max-width:64rem;
  margin-left:auto;
  margin-right:auto;
  padding-left:16px;
  padding-right:16px;
  display:flex;
  align-items:center;
  gap:8px;
}

.official-state-uswds .usa-banner__header-flag{
  width:16px;
  height:11px;
  display:block;
  object-fit:cover;
}

.official-state-uswds .usa-banner__header-text{
  margin:0;
  font-size:13px;
  line-height:1.2;
  color:#1b1b1b;
}

.official-state-uswds .usa-banner__header-action{
  display:none;
  margin:2px 0 0;
  color:#005ea8;
  text-decoration:underline;
}

.official-state-uswds .usa-banner__button{
  appearance:none;
  border:0;
  background:transparent;
  color:#005ea8;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  margin:0 0 0 6px;
  padding:0;
  font:inherit;
  text-decoration:underline;
}

.official-state-uswds .usa-banner__button::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:6px;
  border-right:2px solid #005ea8;
  border-bottom:2px solid #005ea8;
  transform:rotate(45deg) translateY(-2px);
}

.official-state-uswds .usa-banner__button[aria-expanded="true"]::after{
  transform:rotate(225deg) translateY(-1px);
}

.official-state-uswds .usa-banner__button-text{
  font-weight:400;
}

.official-state-uswds .usa-banner__content{
  max-width:64rem;
  margin-left:auto;
  margin-right:auto;
  padding:16px 16px 20px;
  background:#f0f0f0;
}

.official-state-uswds .grid-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.official-state-uswds .usa-banner__guidance{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.official-state-uswds .usa-banner__icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
}

.official-state-uswds .usa-media-block__body p{
  margin:0;
  font-size:15px;
  line-height:1.45;
}

.official-state-uswds strong{
  font-weight:700;
}

@media(max-width:640px){
  .official-state-uswds .usa-banner__inner{
    align-items:flex-start;
  }

  .official-state-uswds .grid-row{
    grid-template-columns:1fr;
    gap:14px;
  }

  .official-state-uswds .usa-banner__button{
    margin-left:0;
  }
}

/* ACTC compact official State of Alabama banner - matches Lee County style */
.official-state-banner,
.official-state-uswds {
  display: none !important;
}

.actc-gov-banner {
  width: 100% !important;
  background: #f5f5f5 !important;
  border-bottom: 1px solid #dfe1e2 !important;
  color: #1b2b42 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  position: relative !important;
  z-index: 9999 !important;
}

.actc-gov-banner-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  min-height: 32px !important;
  padding: 6px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.actc-gov-banner-flag {
  width: 18px !important;
  height: 12px !important;
  max-width: 18px !important;
  max-height: 12px !important;
  object-fit: cover !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
}

.actc-gov-banner-text {
  font-weight: 700 !important;
  color: #1b2b42 !important;
  white-space: nowrap !important;
}

.actc-gov-banner-toggle {
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #005ea8 !important;
  cursor: pointer !important;
  font: inherit !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: underline !important;
  border-radius: 0 !important;
}

.actc-gov-banner-toggle::after {
  content: "⌄" !important;
  display: inline-block !important;
  margin-left: 6px !important;
  text-decoration: none !important;
}

.actc-gov-banner-toggle[aria-expanded="true"]::after {
  content: "⌃" !important;
}

.actc-gov-banner-details {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 12px 18px 16px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  background: #f5f5f5 !important;
}

.actc-gov-banner-details[hidden] {
  display: none !important;
}

.actc-gov-banner-detail {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.actc-gov-banner-detail img {
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  object-fit: contain !important;
  flex: 0 0 40px !important;
}

.actc-gov-banner-detail p {
  margin: 0 !important;
  color: #1b2b42 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

@media (max-width: 700px) {
  .actc-gov-banner-inner {
    flex-wrap: wrap !important;
  }

  .actc-gov-banner-text {
    white-space: normal !important;
  }

  .actc-gov-banner-details {
    grid-template-columns: 1fr !important;
  }
}


/* Homepage SVG/PNG card image icons */
.card-icon.img-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 18px;
  background: #f3f7fb;
  overflow: hidden;
}

.card-icon.img-card-icon img {
  display: block;
  width: 68px;
  height: 68px;
  max-width: 68px;
  max-height: 68px;
  object-fit: contain;
}

.card-icon.img-card-icon img[src*="actc_icon.svg"] {
  width: 76px;
  max-width: 76px;
}

.card-icon.img-card-icon img[src*="aca_logo.png"] {
  width: 76px;
  height: 76px;
  max-width: 76px;
  max-height: 76px;
}


/* Homepage card icon/button alignment refinements */
.main-link-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.main-link-card .card-icon.img-card-icon {
  width: 106px !important;
  height: 106px !important;
  min-width: 106px !important;
  min-height: 106px !important;
  max-width: 106px !important;
  max-height: 106px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #f3f7fb !important;
}

.main-link-card .card-icon.img-card-icon img {
  width: 86px !important;
  height: 86px !important;
  max-width: 86px !important;
  max-height: 86px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* ACTC logo needs a little more width than height */
.main-link-card .card-icon.img-card-icon img[src*="actc_icon.svg"] {
  width: 92px !important;
  height: 92px !important;
  max-width: 92px !important;
  max-height: 92px !important;
}

/* ACA badge was oversized/cropped — force it to fit inside the icon box */
.main-link-card .card-icon.img-card-icon img[src*="aca_logo"] {
  width: 86px !important;
  height: 86px !important;
  max-width: 86px !important;
  max-height: 86px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Center homepage card buttons */
.main-link-card .card-button {
  align-self: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep card text left aligned */
.main-link-card h2,
.main-link-card p {
  align-self: stretch !important;
  text-align: left !important;
}


/* Verify Letter of Good Standing result styling */
.verify-result-card {
    background: #ffffff;
    border: 1px solid rgba(13, 39, 77, 0.12);
    border-radius: 24px;
    padding: 30px 34px;
    box-shadow: 0 18px 42px rgba(10, 22, 50, 0.08);
    margin: 34px auto 80px;
    max-width: 1420px;
}

.verify-result-card.verified {
    border-left: 9px solid #1f7a3d;
}

.verify-result-card.not-verified {
    border-left: 9px solid #b91f2b;
}

.verify-result-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 9px 17px;
    font-weight: 900;
    font-size: 1rem;
    line-height: 1;
    margin-bottom: 18px;
}

.verify-result-badge.verified {
    background: #dff4e5;
    color: #176534;
}

.verify-result-badge.not-verified {
    background: #f9dede;
    color: #9f1d1d;
}

.verify-result-title {
    margin: 0 0 12px;
    font-size: clamp(1.7rem, 2.4vw, 2.25rem);
    line-height: 1.15;
    font-weight: 900;
    color: #0d274d;
}

.verify-result-title.verified {
    color: #176534;
}

.verify-result-title.not-verified {
    color: #9f1d1d;
}

.verify-result-message {
    margin: 0 0 20px;
    max-width: 1050px;
    color: #10284b;
    font-size: 1.2rem;
    line-height: 1.55;
}

.verify-result-help {
    background: #f6f8fb;
    border: 1px solid #dde4ef;
    border-radius: 18px;
    padding: 18px 22px;
    color: #243b5c;
    font-size: 1.03rem;
    line-height: 1.5;
    max-width: 980px;
}

.verify-result-help ul {
    margin: 9px 0 0 24px;
    padding: 0;
}

.verify-result-help li {
    margin: 5px 0;
}

.verify-details-table {
    margin-top: 20px;
    width: 100%;
    max-width: 980px;
    border-collapse: collapse;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
}

.verify-details-table th,
.verify-details-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #e3e8f0;
    text-align: left;
    vertical-align: top;
}

.verify-details-table th {
    width: 250px;
    color: #314966;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #f8fafd;
}

.verify-details-table td {
    color: #0d274d;
    font-size: 1.05rem;
}

.verify-details-table tr:last-child th,
.verify-details-table tr:last-child td {
    border-bottom: 0;
}

@media (max-width: 700px) {
    .verify-result-card {
        padding: 24px 22px;
        margin-top: 24px;
    }

    .verify-details-table th,
    .verify-details-table td {
        display: block;
        width: 100%;
    }

    .verify-details-table th {
        border-bottom: 0;
        padding-bottom: 4px;
    }

    .verify-details-table td {
        padding-top: 4px;
    }
}


/* Admin Review table action layout fix */
.admin-review-form {
    display: grid !important;
    grid-template-columns: minmax(220px, 360px) auto auto;
    gap: 12px 14px;
    align-items: end;
    max-width: 100%;
}

.admin-review-form label {
    display: block !important;
    margin: 0 !important;
}

.admin-review-form label:nth-of-type(1) {
    grid-column: 1 / 2;
}

.admin-review-form label:nth-of-type(1) input {
    width: 120px !important;
    max-width: 120px !important;
    display: block;
    margin-top: 6px;
}

.admin-review-form label:nth-of-type(2) {
    grid-column: 1 / 4;
}

.admin-review-form textarea[name="admin_note"] {
    width: 100% !important;
    min-height: 96px !important;
    resize: vertical;
    box-sizing: border-box;
    display: block;
    margin-top: 6px;
}

.admin-review-form button[name="action"] {
    width: auto !important;
    white-space: nowrap;
    margin: 0 !important;
}

.admin-review-form button[value="approve"] {
    grid-column: 1 / 2;
    justify-self: start;
}

.admin-review-form button[value="reject"] {
    grid-column: 2 / 3;
    justify-self: start;
}

@media (max-width: 900px) {
    .admin-review-form {
        grid-template-columns: 1fr;
    }

    .admin-review-form label,
    .admin-review-form label:nth-of-type(1),
    .admin-review-form label:nth-of-type(2),
    .admin-review-form button[value="approve"],
    .admin-review-form button[value="reject"] {
        grid-column: 1 / 2;
    }
}
