/* Protect Plus: blue, yellow and orange, with light surface variants. */
:root{
  --blue:#196bb0;
  --blue-dark:#125389;
  --blue-soft:#edf5fc;
  --yellow:#ffca36;
  --yellow-soft:#fff8df;
  --orange:#f79420;
  --orange-dark:#914b08;
  --orange-soft:#fff0df;
  --ink:#18334e;
  --muted:#4d647b;
  --page:#f6f9fd;
  --line:#d2e0ee;
  --field-border:#7a91a9;
}
:root{font-family:system-ui,sans-serif;color:var(--ink);background:var(--page);line-height:1.6}*{box-sizing:border-box}body{margin:0}header,footer{padding:1.4rem max(6vw,1rem)}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}header a{font-weight:700;text-decoration:none}header span{display:block;font-size:.8rem;font-weight:400}a{color:inherit}main{max-width:1000px;margin:4rem auto;padding:0 1.5rem;min-height:65vh}h1{font-size:clamp(2.3rem,6vw,4.7rem);line-height:1.1;letter-spacing:-.04em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}.lead{font-size:1.3rem}section,.panel{background:white;padding:2rem;border-radius:12px;margin-top:2rem;border:1px solid var(--line)}.panel{max-width:480px}label,input{display:block;width:100%}input{padding:.8rem;margin:.3rem 0 1rem;border:1px solid var(--field-border);border-radius:5px;font:inherit}button,.button{display:inline-block;background:var(--blue);color:white;border:0;border-radius:5px;padding:.8rem 1.2rem;font:inherit;cursor:pointer;text-decoration:none}footer{font-size:.85rem;color:var(--muted)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.slide-text{white-space:pre-wrap}.language-link{display:inline-block;padding:.5rem 1rem;margin:.3rem;border:1px solid var(--field-border);border-radius:5px}.language-link[aria-current]{background:var(--blue);color:white}.image-placeholder{border:2px dashed var(--field-border);padding:1rem;background:var(--page)}article+article{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}[role=alert]{border-left:4px solid var(--orange-dark);padding:1rem;background:var(--orange-soft)}

.checkbox-label{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0}.checkbox-label input{width:auto;margin-top:.4rem}select{display:block;width:100%;padding:.8rem;margin:.5rem 0 1rem;font:inherit}
.quiz-question{margin:1.5rem 0;padding:1.5rem;border:1px solid var(--field-border);border-radius:10px;background:white}.quiz-question legend{font-weight:700;padding:0 .5rem}

textarea{display:block;width:100%;padding:.8rem;margin:.3rem 0 1rem;border:1px solid var(--field-border);border-radius:5px;font:inherit;resize:vertical} .editor-actions{position:sticky;top:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:1rem;background:var(--page);padding:1rem;border:1px solid var(--line);border-radius:8px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.editor-toolbar button{padding:.5rem .8rem}.editor-toolbar [aria-pressed=true]{background:var(--orange-dark)}.editor-preview{padding:1rem;border:1px solid var(--field-border);margin:1rem 0}.training-content{overflow-wrap:anywhere}.training-content img{max-width:100%;height:auto;display:block;margin:1rem 0}.training-content table{border-collapse:collapse;width:100%}.training-content td,.training-content th{border:1px solid var(--field-border);padding:.5rem}.training-content pre{white-space:pre-wrap}.training-cover{display:block;width:100%;max-height:360px;object-fit:contain;background:var(--blue-soft);border-radius:10px;margin:1rem 0}.image-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.image-library img{width:100%;height:140px;object-fit:contain}.image-library button{margin:.3rem 0;font-size:.85rem}button:disabled{opacity:.5;cursor:wait}

.customer-logo{display:block;max-width:260px;max-height:100px;object-fit:contain;margin:1rem 0}.portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.portal-stats section{margin-top:1rem;padding:1.2rem}.portal-stats strong,.portal-stats span{display:block}.portal-stats strong{font-size:2rem}.portal-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:end}.portal-table{overflow-x:auto}.portal-table table{width:100%;border-collapse:collapse;font-size:.9rem}.portal-table td,.portal-table th{text-align:left;vertical-align:top;padding:1rem .6rem;border-bottom:1px solid var(--line)}.portal-table th{white-space:nowrap}.portal-table td{min-width:120px;overflow-wrap:anywhere}@media(max-width:600px){.portal-stats{grid-template-columns:1fr}.portal-filters{grid-template-columns:1fr}.portal-stats section{margin-top:0}section{padding:1.2rem}}

.customer-links a{overflow-wrap:anywhere}

/* Shared brand treatment across administration and participant pages. */
body{background:linear-gradient(135deg,var(--yellow-soft) 0,transparent 36rem),var(--page)}
header{background:#fff;border-top:5px solid var(--yellow);border-bottom-color:var(--line);flex-wrap:wrap}
.brand-link{display:flex;align-items:center;gap:.8rem;color:var(--ink)}
.brand-logo{width:44px;height:44px;object-fit:contain;flex-shrink:0}
header .brand-wordmark{font-size:1rem;font-weight:750}
header .brand-subtitle{color:var(--muted)}
h1,h2,h3{color:var(--ink)}
a{color:var(--blue-dark);text-underline-offset:3px}
a:hover{color:var(--blue)}
button:hover,.button:hover{background:var(--blue-dark);color:white}
button,.button{font-weight:600;min-height:44px}
input,select,textarea{color:var(--ink);background:#fff;border:1px solid var(--field-border);border-radius:6px}
input[type=checkbox],input[type=radio]{accent-color:var(--blue)}
input[type=file]::file-selector-button{background:var(--blue-soft);color:var(--blue-dark);border:1px solid var(--field-border);border-radius:4px;padding:.4rem;margin-right:.6rem}
.eyebrow{color:var(--blue-dark)}
section,.panel{box-shadow:0 4px 20px #196bb008}
[role=status]{background:var(--yellow-soft);border-left:4px solid var(--yellow);padding:1rem;color:var(--ink)}
[role=alert]{color:var(--orange-dark)}
.portal-stats section:nth-child(1){background:var(--blue-soft);border-top:4px solid var(--blue)}
.portal-stats section:nth-child(2){background:var(--yellow-soft);border-top:4px solid var(--yellow)}
.portal-stats section:nth-child(3){background:var(--orange-soft);border-top:4px solid var(--orange)}
.portal-table th{background:var(--blue-soft);color:var(--blue-dark)}
.portal-table tbody tr:hover{background:#f6f9fd}
.editor-actions{background:var(--yellow-soft);border-color:#e7c65a}
.editor-toolbar [aria-pressed=true]{background:var(--orange-soft);color:var(--orange-dark);box-shadow:inset 0 0 0 2px var(--orange-dark)}
.language-link[aria-current]{color:white}
.quiz-question{border-left:4px solid var(--yellow)}
footer{border-top:1px solid var(--line);background:#fff}
@media(max-width:600px){main{margin:2.5rem auto;padding:0 1rem}header{padding:1rem;gap:1rem}.brand-logo{width:36px;height:36px}header .brand-wordmark{font-size:.9rem}header button{padding:.6rem .8rem}}

/* Customer-facing pages and logins use an independent neutral palette. */
:root.theme-neutral{
  --blue:#414141;
  --blue-dark:#242424;
  --blue-soft:#f2f2f2;
  --yellow:#a3a3a3;
  --yellow-soft:#f5f5f5;
  --orange:#a3a3a3;
  --orange-dark:#333333;
  --orange-soft:#f2f2f2;
  --ink:#18334e;
  --muted:#4d647b;
  --page:#f7f7f7;
  --line:#dedede;
  --field-border:#858585;
}
.theme-neutral body{background:var(--page)}
.theme-neutral header{border-top-color:var(--line)}
.theme-neutral .brand-logo{display:none}
.theme-neutral section,.theme-neutral .panel{box-shadow:0 4px 20px #00000005}
.theme-neutral .portal-stats section{background:#fff;border-top-color:var(--line)}
.theme-neutral .portal-table tbody tr:hover{background:var(--blue-soft)}
.theme-neutral progress{accent-color:var(--blue);background:var(--line);border:0;border-radius:4px;overflow:hidden}
.theme-neutral progress::-webkit-progress-bar{background:var(--line)}
.theme-neutral progress::-webkit-progress-value{background:var(--blue)}
.theme-neutral progress::-moz-progress-bar{background:var(--blue)}

.training-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0}.training-actions form{margin:0}

h1,h2,h3{overflow-wrap:anywhere}

.customer-header-brand{display:flex;align-items:center;max-width:100%;min-width:0;font-size:1.1rem;overflow-wrap:anywhere}.customer-header-brand .customer-logo{max-width:min(260px,100%);max-height:70px;margin:0}
@media(max-width:600px){.customer-header-brand .customer-logo{max-width:210px;max-height:55px}}

.learning-heading h1{font-size:clamp(1.35rem,4vw,2rem);line-height:1.3;margin:.5rem 0}.learning-heading p{margin:.5rem 0}.learning-stage{scroll-margin-top:16px}.learning-stage:focus{outline:none}#learning-page .learning-stage{margin-top:1rem;min-height:280px}.learning-heading progress{width:100%;height:8px}#quiz-focus .quiz-question{margin-top:0;min-height:260px}[data-quiz-controls]{margin:1rem 0}[data-quiz-progress]{font-weight:700}html{scroll-behavior:auto}[hidden]{display:none!important}

.learning-body,[data-quiz-pager]{min-height:100svh}

/* Consistent, understated actions on every page, including customer portals. */
:root{--action-bg:#edf5fc;--action-hover:#dcecf9;--action-text:#125389;--action-border:#bfd4e7}
button,.button,a[href]:not(.brand-link):not(.customer-header-brand){
  display:inline-block;max-width:100%;min-height:44px;padding:.8rem 1.2rem;
  margin:.25rem .35rem .25rem 0;border:1px solid var(--action-border);border-radius:6px;
  background:var(--action-bg);color:var(--action-text);font-family:inherit;font-size:1rem;
  font-weight:600;line-height:1.5;text-align:center;text-decoration:none;
  vertical-align:middle;white-space:normal;overflow-wrap:anywhere;cursor:pointer;
}
button:hover,.button:hover,a[href]:not(.brand-link):not(.customer-header-brand):hover{
  background:var(--action-hover);color:var(--action-text);border-color:#8fb3d2;
}
button:focus-visible,a[href]:focus-visible{outline:3px solid #196bb0;outline-offset:3px}
a[aria-current],.editor-toolbar button[aria-pressed=true]{
  background:var(--action-hover);color:var(--action-text);box-shadow:inset 0 0 0 2px var(--action-text);
}
.action-links{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.action-links a{margin:0!important}

header .auth-icon,header a.auth-icon[href]{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;padding:0;margin:0;flex-shrink:0}
.auth-icon svg{display:block;pointer-events:none}
.header-actions{display:flex;align-items:center;gap:.55rem;margin-left:auto}.header-actions form{margin:0}
header .header-actions a.admin-icon[href],header a[href].auth-icon:not(.brand-link),header .header-actions button.auth-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;margin:0;border:1px solid #196bb0;border-radius:50%;background:#196bb0;color:#fff;flex-shrink:0}
header .header-actions a.admin-icon[href]:hover,header a[href].auth-icon:not(.brand-link):hover,header .header-actions button.auth-icon:hover{border-color:#125389;background:#125389;color:#fff}
.admin-icon svg{display:block;pointer-events:none}

.training-card{padding:1.5rem;border:1px solid var(--line);border-radius:10px;margin-top:1rem;background:var(--page)}
.training-card+ .training-card{padding-top:1.5rem;margin-top:1rem}
.training-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.training-card-heading h3{margin:0;flex:1;min-width:180px}
.training-status{display:inline-block;background:var(--blue-soft);color:#125389;padding:.25rem .65rem;border-radius:5px;font-size:.85rem;font-weight:600}
.training-meta{color:var(--muted);margin:.6rem 0}
.training-card-actions,.training-card-actions .training-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:0}
.training-card-actions a,.training-card-actions button{margin:0!important}
.training-setup{margin-top:2rem}.training-setup summary{cursor:pointer;padding:1rem;background:var(--action-bg);color:var(--action-text);border:1px solid var(--action-border);border-radius:6px;font-weight:600}
@media(max-width:600px){.training-card{padding:1rem}.training-card+ .training-card{padding-top:1rem}.training-card-actions,.training-card-actions .training-actions{align-items:stretch;flex-direction:column;width:100%}.training-card-actions button{width:100%}}

/* Compact administration landing page. */
main:has(.admin-dashboard){margin-top:2rem;margin-bottom:2rem}
.admin-dashboard h1{font-size:clamp(1.7rem,3.3vw,2.6rem);line-height:1.2;margin:.4rem 0 1.5rem;letter-spacing:-.025em}
.admin-dashboard .eyebrow{margin:0}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.admin-dashboard-grid section{margin:0;padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start}
.admin-dashboard-grid h2{font-size:1.2rem;line-height:1.3;margin:0 0 .5rem}
.admin-dashboard-grid p{margin:0 0 .85rem;line-height:1.45}
.admin-dashboard-grid a.button{margin:auto 0 0}
@media(max-width:640px){main:has(.admin-dashboard){margin-top:1.25rem}.admin-dashboard h1{margin-bottom:1rem}.admin-dashboard-grid{grid-template-columns:1fr;gap:.65rem}.admin-dashboard-grid section{padding:1rem}.admin-dashboard-grid h2{font-size:1.1rem}.admin-dashboard-grid p{font-size:.9rem;margin-bottom:.6rem}.admin-dashboard-grid a.button{padding:.6rem .85rem}}

.rich-editor{min-height:240px;max-height:650px;overflow:auto;padding:1rem;border:1px solid var(--field-border);border-radius:6px;background:white;white-space:normal}
.rich-editor:focus{outline:2px solid var(--action-text);outline-offset:2px}
.rich-editor img{cursor:pointer;height:auto}.rich-editor .selected-image{outline:3px solid #196bb0;outline-offset:3px}
.image-size-controls{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;padding:1rem;margin:.5rem 0;background:var(--blue-soft);border-radius:6px}
.image-size-controls label{width:auto;flex:1;min-width:150px}.image-size-controls input{margin-bottom:0}
@media(max-width:600px){.editor-actions{position:static;gap:.6rem;padding:.8rem}.editor-actions [role=status]{padding:.4rem;margin:0;font-size:.85rem}}

/* Compact slide editor with a sortable overview. */
main:has(#training-editor){max-width:1400px;margin-top:2rem}
#training-editor>section{padding:1.4rem}
.cover-preview{min-height:220px;display:grid;place-items:center;overflow:hidden;background:var(--blue-soft);border:1px solid var(--line);border-radius:8px;margin:.75rem 0 1rem}
.cover-preview .training-cover{width:min(100%,720px);max-height:240px;margin:0 auto;background:transparent}
.cover-preview p{margin:0;color:var(--muted)}
.slide-editor-layout,.question-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:1.25rem;align-items:start}
.slide-editor-content,.question-editor-content{grid-column:1;grid-row:1;min-width:0}
.slide-outline{grid-column:2;grid-row:1;position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:auto;padding:1rem;background:var(--page);border:1px solid var(--line);border-radius:9px}
.slide-outline h3{font-size:1rem;margin:0}.slide-outline>p{font-size:.82rem;color:var(--muted);margin:.1rem 0 .65rem}
.slide-outline ol{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.slide-outline-item{display:flex;align-items:center;gap:.3rem;min-width:0}
.slide-outline-title{flex:1;min-width:0;min-height:36px!important;padding:.35rem .5rem!important;margin:0!important;font-size:.82rem!important;line-height:1.25!important;text-align:left!important}
.slide-outline-actions{display:flex;flex:0 0 auto;gap:.2rem}
.slide-outline-actions button{width:32px;min-width:32px;min-height:32px!important;height:32px;padding:0!important;margin:0!important;font-size:.95rem!important;line-height:1!important}
.slide-editor-card{scroll-margin-top:92px;margin:0 0 .75rem;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
.slide-editor-card>summary{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;cursor:pointer;background:var(--action-bg);color:var(--action-text)}
.slide-editor-card>summary::-webkit-details-marker{display:none}.slide-editor-card>summary::before{content:'▸';font-size:.85rem}.slide-editor-card[open]>summary::before{content:'▾'}
.slide-summary-index{flex:0 0 auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.slide-summary-title{min-width:0;overflow-wrap:anywhere}
.slide-editor-body{padding:1rem}.slide-card-actions{display:flex;justify-content:flex-end;margin:-.3rem 0 .5rem}.slide-card-actions button{min-height:34px;padding:.35rem .65rem;margin:0;font-size:.78rem}
.editor-mode-row{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;margin:.2rem 0 .45rem}
.editor-mode-label{font-size:.78rem;color:var(--muted)}
.editor-mode-buttons,.editor-format-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}
.editor-mode-button,.editor-format-button{min-height:32px!important;padding:.25rem .55rem!important;margin:0!important;font-size:.78rem!important;line-height:1.2!important}
.editor-mode-button[aria-pressed=true]{background:var(--action-text);color:#fff;border-color:var(--action-text)}
.editor-format-toolbar{margin:0 0 .45rem}.editor-format-button{min-width:34px}.editor-format-button.format-bold{font-weight:800}.editor-format-button.format-italic{font-style:italic}
.editor-help{margin:.45rem 0 .75rem;font-size:.82rem;color:var(--muted)}
.slide-editor-body .rich-editor{min-height:180px;max-height:520px;padding:.75rem}
.question-type{margin:0 0 .65rem;color:var(--muted);font-size:.85rem;font-weight:650}.question-option{padding:.8rem 0;border-top:1px solid var(--line)}.question-option:first-of-type{border-top:0}.question-option .checkbox-label{margin:.4rem 0}.question-option button{min-height:34px;padding:.35rem .65rem;font-size:.78rem}
@media(max-width:900px){.slide-editor-layout,.question-editor-layout{grid-template-columns:1fr}.slide-outline,.slide-editor-content,.question-editor-content{grid-column:1;grid-row:auto}.slide-outline{position:static;max-height:280px}.editor-mode-row{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:600px){#training-editor>section{padding:1rem}.cover-preview{min-height:160px}.slide-editor-card>summary{align-items:flex-start;gap:.5rem;padding:.7rem}.slide-summary-index{margin-top:.15rem}.slide-editor-body{padding:.75rem}.slide-outline{padding:.75rem}}

/* Compact, aligned completion filters. */
.participation-report{padding:1.5rem}
.participation-report>h2{margin:0 0 .5rem}
.report-note{font-size:.9rem;color:var(--muted);margin:0 0 1rem}
.participation-report .portal-filters{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem 1rem;align-items:end}
.participation-report .portal-filters>label{grid-column:span 2;min-width:0;font-size:.9rem;font-weight:600}
.participation-report .portal-filters>label:has(input[type=date]){grid-column:span 3}
.participation-report .portal-filters input,.participation-report .portal-filters select{width:100%;min-width:0;max-width:100%;height:44px;margin:.3rem 0 0;padding:.55rem .65rem;font-size:.95rem;line-height:1.4;font-weight:400;box-sizing:border-box}
.portal-filter-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.portal-filter-actions button,.portal-filter-actions a[href]{margin:0;padding:.55rem .9rem;min-height:44px}
.portal-filter-actions a.report-export{margin-left:auto}
.participation-report .portal-table{margin-top:1rem}
@media(min-width:1100px){.participation-report .portal-filters{grid-template-columns:1.5fr 1.25fr 1.25fr 1fr 1fr;gap:.75rem}.participation-report .portal-filters>label,.participation-report .portal-filters>label:has(input[type=date]){grid-column:auto}}
@media(max-width:600px){.participation-report{padding:1rem}.participation-report .portal-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.participation-report .portal-filters>label{grid-column:1/-1}.participation-report .portal-filters>label:has(input[type=date]){grid-column:span 1}.portal-filter-actions a.report-export{margin-left:0}.portal-filter-actions{gap:.5rem}}

/* Focused participant landing page. */
.participant-home h1{font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.2;margin:.5rem 0 1.25rem}
.participant-home section{padding:1.25rem;margin:1rem 0}
.participant-home section h2,.participant-home article h3{margin:0 0 .6rem}
.participant-home article{padding:1rem 0}.participant-home article:first-child{padding-top:0}.participant-home article:last-of-type{padding-bottom:0}
.participant-home article p{margin:.5rem 0}.participant-home article a.button{margin:.35rem 0 0}
.participant-home .location-links{display:flex;flex-wrap:wrap;gap:.6rem}.participant-home .location-links a{margin:0}

/* Public welcome page. */
main:has(.welcome-page){max-width:1240px;margin-top:2rem;margin-bottom:3rem}
.welcome-page{display:grid;gap:1.25rem}
.welcome-hero{position:relative;overflow:hidden;margin:0;padding:clamp(2rem,6vw,5rem);border-top:7px solid var(--yellow);background:linear-gradient(135deg,#fff8df 0%,#fff 48%,#edf5fc 100%)}
.welcome-hero::after{content:'';position:absolute;right:-7rem;bottom:-9rem;width:24rem;height:24rem;border:4rem solid #196bb00b;border-radius:50%;pointer-events:none}
.welcome-hero .eyebrow{margin:0 0 1rem}
.welcome-hero h1{position:relative;z-index:1;max-width:1100px;margin:0;font-size:clamp(2.35rem,5.6vw,5.25rem);line-height:1.08;letter-spacing:-.055em}
.welcome-hero h1 span{display:inline-block;color:var(--blue);font-size:.72em;letter-spacing:-.035em}
.welcome-hero h2{position:relative;z-index:1;max-width:900px;margin:2rem 0 1rem;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.3}
.welcome-intro{position:relative;z-index:1;max-width:850px;margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}
.welcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.welcome-card{display:flex;flex-direction:column;margin:0;padding:1.6rem;background:#fff;border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:12px;box-shadow:0 4px 20px #196bb008}
.welcome-card+.welcome-card{margin-top:0;padding-top:1.6rem}
.welcome-card:nth-child(2),.welcome-card:nth-child(5){border-top-color:var(--yellow)}
.welcome-card:nth-child(4),.welcome-card:nth-child(6){border-top-color:var(--orange)}
.welcome-card-wide{grid-column:1/-1}
.welcome-card-kicker{margin:0 0 .35rem;color:var(--blue-dark);font-size:.76rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.welcome-card h2{margin:0 0 .75rem;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.25}.welcome-card h3{margin:.5rem 0;font-size:1rem}
.welcome-card p{margin:.35rem 0;line-height:1.6}
.welcome-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 2rem;margin:.25rem 0 0;padding:0;list-style:none}
.welcome-benefits li{position:relative;padding-left:1.55rem}.welcome-benefits li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:800}
.welcome-trial{margin:1rem 0 0;padding:clamp(1.75rem,4vw,3.25rem);background:linear-gradient(135deg,var(--blue-dark),var(--blue));border:0;color:#fff;box-shadow:0 16px 45px #12538926}
.welcome-trial .eyebrow{margin:0;color:#fff3bd}.welcome-trial h2{margin:.25rem 0 1rem;color:#fff;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.1;letter-spacing:-.035em}
.welcome-trial p{max-width:850px;margin:.55rem 0;font-size:1.05rem}
.welcome-trial a.welcome-trial-action{margin:1.2rem 0 0;padding:.9rem 1.2rem;background:var(--yellow);border-color:var(--yellow);color:#18334e;font-weight:750}
.welcome-trial a.welcome-trial-action:hover{background:#ffdc73;border-color:#ffdc73;color:#18334e}
.welcome-customer{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:0;padding:1.5rem 1.75rem}
.welcome-customer h2{margin:0 0 .35rem;font-size:1.5rem}.welcome-customer p{margin:.25rem 0}.welcome-customer .button{flex:0 0 auto}
.welcome-customer-domain{font-weight:750;color:var(--blue-dark);overflow-wrap:anywhere}
.welcome-signoff{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin:.25rem 0 0;padding:.75rem 1rem;color:var(--muted)}.welcome-signoff span{font-size:.9rem}
.welcome-legal-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem 1.25rem;margin:-.5rem 0 0;padding:.75rem 1rem 0;border-top:1px solid var(--line)}
.welcome-page .welcome-legal-links a[href]{min-height:auto;margin:0;padding:.2rem 0;border:0;background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.welcome-page .welcome-legal-links a[href]:hover{border:0;background:transparent;color:var(--blue-dark)}
.welcome-build{margin:-.75rem 0 0;padding:0 1rem;color:#718398;font-size:.66rem;line-height:1.3;text-align:center;letter-spacing:.025em}
@media(max-width:720px){main:has(.welcome-page){margin-top:1rem;padding:0 1rem}.welcome-page{gap:.8rem}.welcome-hero{padding:1.5rem}.welcome-hero h1{font-size:clamp(2rem,10.5vw,3.15rem);letter-spacing:-.045em}.welcome-hero h2{margin-top:1.4rem}.welcome-grid{grid-template-columns:1fr;gap:.8rem}.welcome-card-wide{grid-column:auto}.welcome-card{padding:1.15rem}.welcome-card+.welcome-card{padding-top:1.15rem}.welcome-benefits{grid-template-columns:1fr}.welcome-trial{padding:1.5rem}.welcome-trial a.welcome-trial-action{width:100%}.welcome-customer{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1.2rem}.welcome-customer .button{width:100%}}

/* Public legal information. */
main:has(.legal-page){max-width:920px;margin-top:2rem;margin-bottom:3rem}
.legal-page{display:grid;gap:1rem}
.legal-page-header{display:block;margin:0;padding:clamp(1.5rem,4vw,2.5rem);border-top:6px solid var(--yellow);background:linear-gradient(135deg,#fff8df,#fff 62%,#edf5fc)}
.legal-page-header h1{margin:.15rem 0 .5rem;font-size:clamp(2rem,5vw,3.35rem)}
.legal-page-header p{max-width:700px;margin:0;color:var(--muted)}
.legal-section{margin:0;padding:clamp(1.25rem,3vw,2rem)}
.legal-section h2{margin:0 0 .65rem;font-size:1.35rem;line-height:1.3}
.legal-section h3{margin:1.25rem 0 .4rem;font-size:1.05rem}
.legal-section p,.legal-section ul{margin:.45rem 0}
.legal-section ul{padding-left:1.25rem}
.legal-section address{font-style:normal}
.legal-contact{padding:1rem 1.15rem;border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:5px}
.legal-page .legal-contact a[href],.legal-page a.legal-inline-link[href],.legal-page a.legal-back[href]{min-height:auto;margin:0;padding:0;border:0;background:transparent;color:var(--blue-dark);font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:3px}
.legal-page .legal-contact a[href]:hover,.legal-page a.legal-inline-link[href]:hover,.legal-page a.legal-back[href]:hover{border:0;background:transparent;color:var(--blue)}
.legal-back[href]{justify-self:start;margin:.25rem 0}
.legal-updated{font-size:.88rem;color:var(--muted)}
@media(max-width:600px){.legal-page-header,.legal-section{padding:1.15rem}.welcome-legal-links{justify-content:flex-start}.welcome-build{text-align:left}}
.participant-home .participant-location-note{font-size:.9rem;color:var(--muted);margin-top:1.25rem}
@media(max-width:600px){.participant-home section{padding:1rem}.participant-home h1{font-size:1.7rem}}

/* Compact edit actions in user lists. */
.portal-table td.user-action-cell{min-width:0;width:1%;white-space:nowrap}
.portal-table a.user-edit-button[href],.portal-table a.report-certificate-button[href]{font-size:.8rem;line-height:1.25;padding:.45rem .65rem;min-height:32px;white-space:nowrap;overflow-wrap:normal;margin:0}
@media(pointer:coarse){.portal-table a.user-edit-button[href],.portal-table a.report-certificate-button[href]{min-height:44px;display:inline-flex;align-items:center}}

/* Match report links to the filter button and keep certificate actions compact. */
.participation-report .portal-filter-actions button,.participation-report .portal-filter-actions a[href]{font-size:1rem;line-height:1.5;padding:.55rem .9rem;height:44px;min-height:44px;margin:0;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;overflow-wrap:normal}
.portal-table td.report-certificate-cell{min-width:0;white-space:nowrap}

/* Group each customer link with its related action. */
.customer-link-panel>h2{margin-top:0}
.customer-link-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:.6rem 1rem;align-items:center}
.customer-link-row+.customer-link-row{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}
.customer-link-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0}
.customer-link-panel .customer-link-actions a[href]{margin:0;padding:.55rem .8rem;font-size:.9rem}
@media(max-width:600px){.customer-link-row{grid-template-columns:minmax(0,1fr);gap:.35rem}}

.user-access-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.user-access-actions form{margin:0}
.user-access-actions a.user-edit-button[href],.user-access-actions button{font-size:.8rem;line-height:1.25;padding:.45rem .65rem;min-height:32px;white-space:nowrap;overflow-wrap:normal;margin:0}
@media(pointer:coarse){.user-access-actions a.user-edit-button[href],.user-access-actions button{min-height:44px;display:inline-flex;align-items:center}}
