/* Sthonet Academy v4.16.21 — strong distribution palette and accessibility layer.
   75% deep green, 15% white/grey, 8% blue, 2% cyan. Lime is status-only. */
:root{
  --sth-bg:#001c18;
  --sth-bg-2:#062b25;
  --sth-surface:#0b3830;
  --sth-blue:#168bff;
  --sth-blue-hover:#0876df;
  --sth-cyan:#22d3ee;
  --sth-white:#fff;
  --sth-grey:#d9d9d9;
  --sth-ink:#08211c;
  --sth-paper:#f7faf9;
  --sth-line:rgba(34,211,238,.18);
  --sth-focus:rgba(34,211,238,.42);
  --sth-status:#e3fb76;
}

/* Core site distribution */
.sthonet-company-site{background:var(--sth-paper);color:var(--sth-ink)}
.sa-header,.sa-hero,.sa-impact,.sa-footer{background:var(--sth-bg)}
.sa-glow-two{background:radial-gradient(circle,rgba(22,139,255,.14),transparent 67%)}
.sa-hero:before{opacity:.06}
.sa-about,.sa-programmes,.sa-services{background:var(--sth-paper)}
.sa-registration-card,.sa-programme-card.featured,.sa-testimonial-card,.sa-proof-panel,.sa-service-bot-card,.sa-need-help-card{background:var(--sth-bg-2);border-color:var(--sth-line)}
.sa-contact-panel{background:var(--sth-bg-2);color:var(--sth-white);border:1px solid var(--sth-line)}
.sa-contact-panel p,.sa-hero-copy>p,.sa-impact-heading>p,.sa-service-bot-card p,.sa-need-help-card>p{color:var(--sth-grey)}
.sa-hero h1 em,.sa-impact-heading h2 em,.sa-eyebrow,.sa-section-tag.light,.sa-service-bot-label{color:var(--sth-cyan)}
.sa-card-code,.sa-service-icon,.sa-story-step i,.sa-avatar{background:var(--sth-blue);color:var(--sth-white)}

/* One unmistakable primary CTA treatment */
.sthonet-company-site .sa-button,
.sthonet-company-site .sa-nav-cta,
.sthonet-company-site .sa-class-button,
.sthonet-company-site .sa-service-bot-whatsapp,
.sthonet-company-site .sa-need-help-trigger,
.sthonet-company-site .sm-submit,
.sthonet-company-site .sm-profile-save,
.sthonet-company-site .sm-class-button,
.sthonet-company-site .sm-activation-request,
.sthonet-company-site .sm-bot-whatsapp,
.sthonet-company-site .sth-market-form button,
.sthonet-company-site .sth-market-inline-form button,
.sthonet-company-site .sth-notification-item button:not(:disabled),
.sthonet-company-site .sth-bid-grid button,
.sthonet-company-site .sth-owner-filters button,
.sthonet-company-site .sth-action-links a,
.sthonet-company-site .sth-market-empty a{
  min-height:50px;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:10px;
  background:var(--sth-blue)!important;
  color:var(--sth-white)!important;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.01em;
  text-shadow:none!important;
  box-shadow:0 8px 22px rgba(22,139,255,.22);
}
.sthonet-company-site .sa-button:hover,
.sthonet-company-site .sa-nav-cta:hover,
.sthonet-company-site .sa-service-bot-whatsapp:hover,
.sthonet-company-site .sa-need-help-trigger:hover,
.sthonet-company-site button[type="submit"]:hover,
.sthonet-company-site .sth-action-links a:hover,
.sthonet-company-site .sth-market-empty a:hover{background:var(--sth-blue-hover)!important;color:var(--sth-white)!important}
.sthonet-company-site a:focus-visible,.sthonet-company-site button:focus-visible,.sthonet-company-site input:focus-visible,.sthonet-company-site select:focus-visible,.sthonet-company-site textarea:focus-visible{outline:3px solid var(--sth-focus)!important;outline-offset:3px}
.sthonet-company-site button:disabled,.sthonet-company-site [aria-disabled="true"]{background:#60716c!important;color:#fff!important;box-shadow:none!important;opacity:.72}

/* Secondary controls remain clear without introducing more colours */
.sthonet-company-site .sa-secondary,.sthonet-company-site .sa-dark{background:var(--sth-bg)!important;color:var(--sth-white)!important;border:1px solid var(--sth-cyan)!important;box-shadow:none}
.sa-filters button.active,.sa-filters button:hover{background:var(--sth-bg)!important;color:var(--sth-white)!important;border-color:var(--sth-bg)!important}
.sa-programme-card>a,.sa-service-card>a,.sa-service-enquire,.sm-password-link{color:#075fb4!important;font-weight:900}

/* Member dashboard */
.sm-dashboard{background:var(--sth-bg)!important;color:var(--sth-white)}
.sm-dashboard-grid>article,.sm-admin-manager,.sm-account-lifecycle,.sm-referral-reassignment{background:var(--sth-bg-2)!important;border-color:var(--sth-line)!important}
.sm-dashboard p,.sm-dashboard small,.sm-dashboard-grid article>p{color:var(--sth-grey)!important}
.sm-dashboard-head h1,.sm-dashboard-head h2,.sm-owner-head h3,.sm-admin-manager h4,.sm-account-lifecycle strong,.sm-referral-reassignment h4,.sm-referral-reassignment label,.sm-referral-reassignment strong{color:var(--sth-white)}
.sm-dashboard-head h2 em,.sm-referral-total strong,.sm-card-label{color:var(--sth-cyan)!important}
.sm-learning-tile{background:var(--sth-bg-2);border-color:rgba(217,217,217,.24);color:var(--sth-white)}
.sm-learning-tile i{background:rgba(22,139,255,.2);color:var(--sth-cyan)}
.sm-learning-option input:checked+.sm-learning-tile{border-color:var(--sth-cyan);background:rgba(22,139,255,.18)}
.sm-learning-option input:checked+.sm-learning-tile em{background:var(--sth-blue);color:var(--sth-white)}
.sm-referral-reassignment button,.sm-admin-manager button,.sm-reactivate-account,.sm-referral-field button{background:var(--sth-blue)!important;color:var(--sth-white)!important}

/* Light dashboard surfaces must never inherit white copy from dark sections. */
.sm-recent-members,.sm-admin-oversight,.sm-admin-oversight-card,.sm-auth-shell,.sm-auth-panel{
  color:var(--sth-ink)!important;
}
.sm-recent-members h1,.sm-recent-members h2,.sm-recent-members h3,.sm-recent-members h4,.sm-recent-members strong,.sm-recent-members label,
.sm-admin-oversight h1,.sm-admin-oversight h2,.sm-admin-oversight h3,.sm-admin-oversight h4,.sm-admin-oversight strong,.sm-admin-oversight label,
.sm-auth-shell h1,.sm-auth-shell h2,.sm-auth-shell h3,.sm-auth-shell h4,.sm-auth-shell strong,.sm-auth-shell label{
  color:var(--sth-ink)!important;
  text-shadow:none!important;
}
.sm-recent-members p,.sm-recent-members span,.sm-recent-members small,.sm-recent-members th,.sm-recent-members td,
.sm-admin-oversight p,.sm-admin-oversight span,.sm-admin-oversight small,.sm-admin-oversight th,.sm-admin-oversight td{
  color:#52635e!important;
}
.sm-recent-members td,.sm-admin-oversight td{color:var(--sth-ink)!important;background:transparent}
.sm-recent-members .sm-yes,.sm-admin-oversight .sm-yes{color:#075f4d!important}
.sm-owner-slider-controls button{background:#eef4f2!important;color:var(--sth-ink)!important;border:1px solid #bdcbc6!important;box-shadow:none!important}
.sm-owner-slider-controls button:hover{background:#dfeae6!important;color:var(--sth-ink)!important}

/* Generic light control cards used by owner tools and legacy installations. */
.sm-dashboard article[style*="background: rgb(255"],.sm-dashboard article[style*="background:#fff"],.sm-dashboard .sm-light-card{
  color:var(--sth-ink)!important;
}
.sm-dashboard article[style*="background: rgb(255"] :is(h1,h2,h3,h4,p,label,strong,span,small),
.sm-dashboard article[style*="background:#fff"] :is(h1,h2,h3,h4,p,label,strong,span,small),
.sm-dashboard .sm-light-card :is(h1,h2,h3,h4,p,label,strong,span,small){color:var(--sth-ink)!important}

/* Marketplace: pale surfaces for reading, dark green for financial emphasis */
.sth-marketplace{background:var(--sth-paper);color:var(--sth-ink)}
.sth-role-banner,.sth-owner-commission,.sth-market-finance{background:var(--sth-bg)!important;color:var(--sth-white)}
.sth-role-banner p,.sth-market-finance span{color:var(--sth-grey)!important}
.sth-market-panel,.sth-market-job,.sth-market-empty,.sth-owner-market-stats div,.sth-owner-filters{background:var(--sth-white)}
.sth-market-job h2,.sth-market-job h3,.sth-market-panel h2,.sth-owner-market h2{color:var(--sth-ink)}
.sth-market-finance strong,.sth-owner-commission .sm-card-label{color:var(--sth-cyan)!important}
.sth-market-job-head b,.sth-bid-grid article em,.sth-job-progress li.is-done span{background:var(--sth-status);color:var(--sth-ink)}
.sth-owner-commission strong{background:var(--sth-blue);color:var(--sth-white)}

/* Activity panel */
.sth-community-notifications summary{background:var(--sth-bg);border-color:var(--sth-cyan);color:var(--sth-white);min-height:50px;padding:11px 17px}
.sth-community-notifications summary strong{color:var(--sth-white)}
.sth-community-notifications summary b{background:var(--sth-blue);color:var(--sth-white)}
.sth-community-panel{background:var(--sth-white);color:var(--sth-ink);border-color:rgba(0,28,24,.18)}
.sth-community-head button{color:#075fb4;font-weight:800}

/* Forms and readable copy */
.sthonet-company-site input,.sthonet-company-site select,.sthonet-company-site textarea{color:var(--sth-ink);background:var(--sth-white)}
.sthonet-company-site input::placeholder,.sthonet-company-site textarea::placeholder{color:#63716d;opacity:1}
.sthonet-company-site p,.sthonet-company-site li,.sthonet-company-site label,.sthonet-company-site dt,.sthonet-company-site dd{line-height:1.6}

@media(max-width:740px){
  .sthonet-company-site .sa-button,.sthonet-company-site .sm-submit,.sthonet-company-site .sm-class-button,.sthonet-company-site .sth-market-form button,.sthonet-company-site .sth-market-inline-form button{min-height:54px;font-size:15px}
  .sa-header nav a,.sa-header nav a.sa-nav-cta{color:var(--sth-white)!important}
  .sa-header nav a:hover,.sa-header nav a[aria-current="page"]{background:var(--sth-blue)!important;color:var(--sth-white)!important;border-color:var(--sth-blue)!important}
  .sa-header nav a[aria-current="page"] .sa-nav-icon{background:var(--sth-bg);color:var(--sth-cyan)}
}

/* v4.16.23 — final website-wide readability enforcement.
   Owner tools are light-content surfaces unless explicitly listed as dark. */
#sa-owner-dashboard :is(h1,h2,h3,h4,h5,h6,p,label,legend,strong,b,span,small,dt,dd,th,td,summary){
  color:var(--sth-ink)!important;
  text-shadow:none!important;
}
#sa-owner-dashboard :is(.sm-owner-head,.sm-admin-manager,.sm-owner-stats>div,.sm-month-window,.sm-account-lifecycle,.sm-referral-reassignment,.sth-role-banner,.sth-owner-commission,.sth-market-finance)
  :is(h1,h2,h3,h4,h5,h6,p,label,legend,strong,b,span,small,dt,dd,th,td,summary){
  color:var(--sth-white)!important;
}
#sa-owner-dashboard :is(.sm-admin-manager,.sm-owner-stats>div,.sm-month-window,.sm-account-lifecycle,.sm-referral-reassignment) p,
#sa-owner-dashboard :is(.sm-admin-manager,.sm-owner-stats>div,.sm-month-window,.sm-account-lifecycle,.sm-referral-reassignment) small,
#sa-owner-dashboard :is(.sm-admin-manager,.sm-owner-stats>div,.sm-month-window,.sm-account-lifecycle,.sm-referral-reassignment) span:not(.sm-card-label){
  color:var(--sth-grey)!important;
}
#sa-owner-dashboard .sm-card-label,
#sa-owner-dashboard .sm-month-window strong,
#sa-owner-dashboard .sm-owner-stats strong{color:var(--sth-cyan)!important}
#sa-owner-dashboard input,#sa-owner-dashboard select,#sa-owner-dashboard textarea{
  background:var(--sth-white)!important;
  color:var(--sth-ink)!important;
  border-color:#9fb0aa!important;
}
#sa-owner-dashboard input::placeholder,#sa-owner-dashboard textarea::placeholder{color:#5e6d68!important;opacity:1!important}

/* Light cards, directories and tables: readable regardless of legacy opacity. */
#sa-owner-dashboard :is(.sm-recent-members,.sm-admin-oversight,.sm-admin-oversight-card,.sm-member-table-wrap,[class*="directory"],[class*="control-card"],[class*="member-control"]),
.sm-access :is(.sm-auth-shell,.sm-auth-panel),
.sth-marketplace :is(.sth-market-panel,.sth-market-job,.sth-market-empty,.sth-owner-filters,.sth-owner-market-stats>div,.sth-community-panel){
  color:var(--sth-ink)!important;
}
#sa-owner-dashboard :is(.sm-recent-members,.sm-admin-oversight,.sm-admin-oversight-card,.sm-member-table-wrap,[class*="directory"],[class*="control-card"],[class*="member-control"])
  :is(h1,h2,h3,h4,h5,h6,p,label,legend,strong,b,span,small,dt,dd,th,td),
.sm-access :is(.sm-auth-shell,.sm-auth-panel) :is(h1,h2,h3,h4,p,label,legend,strong,b,span,small),
.sth-marketplace :is(.sth-market-panel,.sth-market-job,.sth-market-empty,.sth-owner-filters,.sth-owner-market-stats>div,.sth-community-panel)
  :is(h1,h2,h3,h4,p,label,legend,strong,b,span,small,dt,dd,th,td){
  color:var(--sth-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}
#sa-owner-dashboard .sm-member-table-wrap th,
#sa-owner-dashboard .sm-member-table-wrap th small,
.sth-marketplace dt{color:#52635e!important}
#sa-owner-dashboard .sm-member-table-wrap td,
#sa-owner-dashboard .sm-member-table-wrap td strong{color:var(--sth-ink)!important}

/* Public light sections: eliminate excessively faded copy. */
.sa-about :is(p,small),.sa-programmes :is(p,small),.sa-services :is(p,small),.sa-page-story-copy :is(p,small){
  color:#4d5d58;
  opacity:1;
}
.sa-programme-card.featured :is(p,small),.sa-impact :is(p,small),.sa-hero :is(p,small),.sa-contact-panel :is(p,small){
  color:var(--sth-grey);
  opacity:1;
}

/* Every action label stays fully opaque and readable. */
.sthonet-company-site :is(a,button,[role="button"]){text-decoration-thickness:2px}
.sthonet-company-site :is(a,button,[role="button"]) :is(span,strong,b,small){opacity:1}
.sthonet-company-site button,.sthonet-company-site [role="button"]{font-weight:850}

/* v4.16.24 — deliberate hero typography and blue/cyan brand core. */
.sa-professional-title span,.sa-professional-title em{display:block}
.sa-professional-title em{font-style:italic;color:var(--sth-cyan)}
.sa-core{background:rgba(0,28,24,.82);border:4px solid transparent;background-image:linear-gradient(var(--sth-deep),var(--sth-deep)),linear-gradient(135deg,var(--sth-blue),var(--sth-cyan));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 0 42px rgba(40,194,243,.22)}
.sa-core i{color:var(--sth-cyan);text-shadow:-1px 1px 0 var(--sth-blue)}
@media(max-width:740px){.sa-professional-title{font-size:clamp(43px,12.5vw,62px)!important;line-height:1.01!important;letter-spacing:-.05em!important}.sa-professional-title span,.sa-professional-title em{white-space:normal}}

/* v4.16.27 — website-wide legibility and complete mobile job timelines. */
.sthonet-company-site{
  --sth-readable-muted:#4b5f58;
  --sth-readable-soft:#cbd8d4;
}

/* Never allow theme or legacy opacity rules to fade real copy. */
.sthonet-company-site :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,dt,dd,th,td,summary,a,button,strong,b,small,span){
  text-shadow:none;
}
.sthonet-company-site :is(.sa-about,.sa-programmes,.sa-services,.sa-page-story,.sm-access,.sth-marketplace)
  :is(p,li,label,legend,dt,dd,th,td,small,span){opacity:1}

/* All white and pale reading surfaces use solid dark copy. */
.sthonet-company-site :is(
  .sa-programme-card:not(.featured),.sa-service-card,.sa-page-story-copy,
  .sm-auth-panel,.sm-recent-members,.sm-admin-oversight,.sm-admin-oversight-card,
  .sm-member-table-wrap,.sth-market-panel,.sth-market-job,.sth-market-empty,
  .sth-owner-filters,.sth-owner-market-stats>div,.sth-notification-item,
  .sth-community-panel,.sth-qualified-members,.sth-bid-board,.sth-bid-grid article,
  .sth-secured-job-brief,.sth-assignment-summary,.sth-owner-customer-record
) :is(h1,h2,h3,h4,h5,h6,strong,b,label,legend,summary,dd,td){
  color:var(--sth-ink)!important;
  opacity:1!important;
}
.sthonet-company-site :is(
  .sa-programme-card:not(.featured),.sa-service-card,.sa-page-story-copy,
  .sm-auth-panel,.sm-recent-members,.sm-admin-oversight,.sm-admin-oversight-card,
  .sm-member-table-wrap,.sth-market-panel,.sth-market-job,.sth-market-empty,
  .sth-owner-filters,.sth-owner-market-stats>div,.sth-notification-item,
  .sth-community-panel,.sth-qualified-members,.sth-bid-board,.sth-bid-grid article,
  .sth-secured-job-brief,.sth-assignment-summary,.sth-owner-customer-record
) :is(p,li,span,small,dt,th){
  color:var(--sth-readable-muted)!important;
  opacity:1!important;
}

/* Dark brand surfaces keep strong white hierarchy and readable secondary copy. */
.sthonet-company-site :is(
  .sa-header,.sa-hero,.sa-impact,.sa-footer,.sa-registration-card,
  .sa-programme-card.featured,.sa-service-bot-card,.sm-dashboard,
  .sm-dashboard-grid>article,.sm-admin-manager,.sm-account-lifecycle,
  .sm-referral-reassignment,.sth-role-banner,.sth-owner-commission,.sth-market-finance
) :is(h1,h2,h3,h4,h5,h6,strong,b,label,legend,summary){
  color:var(--sth-white)!important;
  opacity:1!important;
}
.sthonet-company-site :is(
  .sa-header,.sa-hero,.sa-impact,.sa-footer,.sa-registration-card,
  .sa-programme-card.featured,.sa-service-bot-card,.sm-dashboard,
  .sm-dashboard-grid>article,.sm-admin-manager,.sm-account-lifecycle,
  .sm-referral-reassignment,.sth-role-banner,.sth-owner-commission,.sth-market-finance
) :is(p,li,small,dt,dd){
  color:var(--sth-readable-soft)!important;
  opacity:1!important;
}

/* Preserve intentional brand/status colours after the surface rules above. */
.sthonet-company-site :is(.sa-eyebrow,.sa-section-tag.light,.sm-card-label){color:var(--sth-cyan)!important}
.sthonet-company-site .sth-job-progress li.is-done,
.sthonet-company-site .sth-job-progress li.is-done :is(span,strong,b,small){color:var(--sth-ink)!important}
.sthonet-company-site .sth-market-job-head b{color:var(--sth-ink)!important}

/* A job's full state must be visible without a precision horizontal swipe. */
.sthonet-company-site .sth-job-progress{
  grid-template-columns:repeat(7,minmax(0,1fr));
  overflow:visible;
  width:100%;
}
.sthonet-company-site .sth-job-progress li{
  min-width:0;
  min-height:82px;
  align-content:center;
  overflow-wrap:anywhere;
  line-height:1.28;
}
@media(max-width:760px){
  .sthonet-company-site .sth-job-progress{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
    overflow:visible!important;
  }
  .sthonet-company-site .sth-job-progress li{
    min-width:0;
    min-height:92px;
    padding:12px 8px;
    font-size:.76rem;
  }
  .sthonet-company-site .sth-job-progress li:last-child:nth-child(odd){grid-column:1/-1}
  .sthonet-company-site .sth-market-job{overflow:hidden}
}
@media(max-width:390px){
  .sthonet-company-site .sth-job-progress{grid-template-columns:1fr!important}
  .sthonet-company-site .sth-job-progress li{min-height:70px;grid-column:auto!important}
}

/* Long IDs, names and service lists wrap instead of disappearing off-screen. */
.sthonet-company-site :is(.sth-assignment-summary,.sth-market-job-meta,.sth-secured-job-brief,.sth-owner-bidder-grid,.sm-member-table-wrap)
  :is(strong,b,dd,td,span){overflow-wrap:anywhere;word-break:normal}
.sthonet-company-site :is(.sth-market-job,.sth-market-panel,.sm-dashboard-grid>article){min-width:0}

/* v4.16.28 — light marketplace section labels require a dark accessible colour. */
.sthonet-company-site .sth-market-jobs-head .sm-card-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 10px;
  padding:7px 11px;
  border:1px solid rgba(22,139,255,.28);
  border-radius:999px;
  background:rgba(22,139,255,.09);
  color:#0758a8!important;
  font-size:.76rem;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.08em;
  opacity:1!important;
}
@media(max-width:600px){
  .sthonet-company-site .sth-market-jobs-head .sm-card-label{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* v4.16.29 — owner alert label must be unmistakable on its warning card. */
#sa-owner-marketplace-control .sth-owner-actions .sm-card-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 10px;
  padding:8px 12px;
  border:2px solid #001c18;
  border-radius:999px;
  background:#001c18!important;
  color:#fff!important;
  font-size:.78rem;
  font-weight:950;
  line-height:1.2;
  letter-spacing:.09em;
  opacity:1!important;
  text-shadow:none!important;
}

/* v4.16.30 — the mobile drawer highlights only the current page. */
@media(max-width:740px){
  .sthonet-company-site .sa-header nav a.sa-nav-cta:not([aria-current="page"]){
    background:transparent!important;
    color:#d9d9d9!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  .sthonet-company-site .sa-header nav a.sa-nav-cta:not([aria-current="page"]) .sa-nav-icon{
    background:rgba(255,255,255,.08)!important;
    color:var(--sth-cyan)!important;
  }
  .sthonet-company-site .sa-header nav a:not([aria-current="page"]):hover{
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.1)!important;
  }
  .sthonet-company-site .sa-header nav a[aria-current="page"]{
    background:var(--sth-blue)!important;
    color:#fff!important;
    border-color:var(--sth-blue)!important;
    box-shadow:0 8px 22px rgba(22,139,255,.22)!important;
  }
}
