/*
Theme Name:   Skanska PSI
Template:     astra
Description:  Astra child theme for Skanska PSI Pro (MentorKit LMS Pro). Presentation only.
Author:       Norsk Interaktiv AS
Version:      0.1.0
Text Domain:  skanska
*/


@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/fonts/inter-latin.woff2) format("woff2")}
h1,h2,h3{font-weight:700;color:var(--blue);margin:0;line-height:1.08;letter-spacing:-.025em}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3);letter-spacing:-.01em}
h4{font-size:var(--fs-h4);font-weight:500;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--action-blue);outline-offset:2px}
.skip{position:absolute;left:-999px;top:var(--s-2);background:var(--white);padding:var(--s-2) var(--s-3);z-index:100}
.skip:focus{left:var(--s-2)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- layout ---------- */
.wrap{max-width:var(--content);margin:0 auto;padding:var(--s-5)}
@container app (max-width:48rem){.wrap{padding:var(--s-3)}}
.stack>*+*{margin-top:var(--s-3)}
.stack-lg>*+*{margin-top:var(--s-5)}
.row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}
.between{justify-content:space-between}
.grid{display:grid;gap:var(--s-4)}
.g2{grid-template-columns:1fr 1fr} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)} .g5{grid-template-columns:repeat(5,1fr)}
.g-main{grid-template-columns:minmax(0,1fr) 22rem;align-items:start}
.g-reg{grid-template-columns:minmax(0,1fr) minmax(0,28rem);align-items:start}
.course{display:grid;grid-template-columns:minmax(0,14rem) 1fr;gap:var(--s-4)}
@container app (max-width:62rem){.g4,.g5{grid-template-columns:1fr 1fr}.g-main,.g-reg{grid-template-columns:1fr}.g-reg #reg{order:-1}}
@container app (max-width:48rem){.g2,.g3,.g4,.course{grid-template-columns:1fr}.g5{grid-template-columns:1fr 1fr}.course .project-photo{min-height:6rem}}
.muted{color:var(--muted)} .small{font-size:var(--fs-small)} .label{font-size:var(--fs-label);font-weight:500;color:var(--muted)}
.card{background:var(--white);border:1px solid var(--light-gray);padding:var(--s-4)}
.card h3{margin-bottom:var(--s-1)}
.sep{border:0;border-top:1px solid var(--light-gray);margin:var(--s-4) 0}
.narrow{max-width:var(--narrow)}

.land{background:var(--white);color:var(--ink)}
.land-hero{background:linear-gradient(90deg,color-mix(in srgb,var(--blue-dark) 94%,transparent) 0%,color-mix(in srgb,var(--blue-dark) 78%,transparent) 34%,color-mix(in srgb,var(--blue-dark) 0%,transparent) 66%),var(--hero-img,url(assets/img/psi-oppmaling-nordoyvegen.jpg)) right 30%/cover,var(--blue-dark);color:var(--white)}
.land-hero.sm .land-hero-in{padding:var(--s-6) var(--s-5)}
.land-hero.sm h1{font-size:clamp(2.5rem,2.6vw + 1.4rem,4rem)}
.land-hero-in{max-width:var(--content);margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-8)}
.land-hero-txt{max-width:38rem}
.land-eyebrow{font-size:var(--fs-small);font-weight:500;letter-spacing:.02em;margin-bottom:var(--s-4)}
.land-hero h1,.land-hero .hero-title{color:var(--white);font-size:clamp(2.75rem,3vw + 1.5rem,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.02}
.land-lead{font-size:1.1875rem;line-height:1.45;margin-top:var(--s-4)}
.land-values{display:flex;gap:var(--s-5);flex-wrap:wrap;margin-top:var(--s-5)}
.land-values div{display:flex;gap:var(--s-3);align-items:center;font-size:var(--fs-small);line-height:1.3;max-width:10rem}
.land-values svg{width:1.75rem;height:1.75rem;flex:none;color:var(--green)}
.land-body{max-width:var(--content);margin:0 auto;padding:0 var(--s-5) var(--s-7);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30rem);gap:var(--s-7);align-items:start}
.land-info{padding-top:var(--s-5)}
.land-info h2{font-size:clamp(1.75rem,1.2vw + 1.3rem,2.5rem);font-weight:700;letter-spacing:-.025em;color:var(--blue);scroll-margin-top:var(--s-7)}
.land-list{list-style:none;padding:0;margin:var(--s-4) 0 0;display:flex;flex-direction:column;gap:var(--s-4)}
.land-list li{display:flex;gap:var(--s-4);align-items:center}
.land-list svg{width:2rem;height:2rem;flex:none;stroke-width:1.5;color:var(--blue)}
.land-rule{border:0;border-top:1px solid var(--mid-gray);margin:var(--s-5) 0}
.land-card{background:var(--white);border-top:4px solid var(--green);box-shadow:var(--sh-pop);padding:var(--s-5);margin-top:calc(var(--s-7) * -1);position:relative;z-index:2;scroll-margin-top:var(--s-7)}
.land-card h2{font-size:1.75rem;font-weight:700;letter-spacing:-.025em;color:var(--blue)}
.land-card .sub{color:var(--muted);margin:var(--s-1) 0 var(--s-5)}
.land-card label,.land-card .lblrow{font-weight:500}
.land-card .lblrow{display:flex;justify-content:space-between;align-items:center}
.land-card .inp{border-color:var(--muted);max-width:none}
.land-card .inp::placeholder{color:var(--muted)}
.land-card .hms-wrap{max-width:none}
.land-card .hint{color:var(--muted)}
.land-infobox{display:flex;gap:var(--s-3);align-items:center;background:var(--dim-white);padding:var(--s-3);font-size:var(--fs-small)}
.land-infobox .i{width:1.5rem;height:1.5rem;border-radius:var(--r-pill);background:var(--action-blue);color:var(--white);display:grid;place-items:center;font-weight:800;font-size:var(--fs-small);flex:none}
.land-check{display:flex;gap:var(--s-3);align-items:flex-start;margin:var(--s-5) 0;font-weight:400!important}
.land-check input{width:1.5rem;height:1.5rem;flex:none;accent-color:var(--blue)}
.land-btn{display:flex;width:100%;justify-content:center;align-items:center;gap:var(--s-3);background:var(--green);color:var(--black);border:0;border-radius:var(--r-pill);padding:var(--s-3) var(--s-4);font-weight:500;cursor:pointer}
.land-btn:hover{background:var(--green-dark);color:var(--black)}
.land-login{text-align:center;font-size:var(--fs-small);margin-top:var(--s-3)}
.land-ft{background:var(--white);border-top:1px solid var(--light-gray);margin-top:var(--s-6)}
.land .land-ft{margin-top:0}
.land-ft-in{max-width:var(--content);margin:0 auto;padding:var(--s-5);display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;color:var(--muted)}
.land-ft .logo svg{width:8rem}
.land-ft .logo .div{height:2rem}
.land-ni{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-small)}
.land-ni b{font-size:1.25rem;color:var(--ink);display:flex;align-items:center;gap:var(--s-2)}
@container app (max-width:62rem){
  .land-body{grid-template-columns:1fr;gap:var(--s-5);padding:0 var(--s-3) var(--s-6)} .land-card{order:-1}
  .land-hero-in,.land-hero.sm .land-hero-in{padding:var(--s-5) var(--s-3) var(--s-8)}
  .land-hero.sm .land-hero-in{padding-bottom:var(--s-5)}
  .topbar{padding:0 var(--s-3)}
}
@container app (max-width:48rem){
  .topbar{gap:var(--s-3)} .topbar .logo svg{width:5.5rem} .topbar .logo{gap:var(--s-2)} .psi-brand small{display:none}
  .land-values{gap:var(--s-3)} .land-values div{max-width:none;flex:1 1 100%}
  .land-card{padding:var(--s-4);margin-top:calc(var(--s-6) * -1)}
  .name-row{grid-template-columns:1fr;gap:0} .name-row .field+.field{margin-top:var(--s-4)}
  .land-ft-in{flex-direction:column;align-items:flex-start;padding:var(--s-4) var(--s-3)}
}

/* Full-width portal. The prototype's 90rem preview frame is not site chrome. */
html{font-size:16px!important;scroll-padding-top:5rem}
body.skanska-portal{margin:0;background:var(--dim-white);color:var(--ink);font:400 1rem/1.5 var(--font)}
.skanska-portal *, .skanska-portal *::before,.skanska-portal *::after{box-sizing:border-box}
.skanska-portal button,.skanska-portal input,.skanska-portal select,.skanska-portal textarea{font-family:inherit}
.skanska-portal a{color:var(--blue)}
.skanska-portal a:hover{color:var(--blue-dark)}
.app{width:100%;min-height:100vh;background:var(--white);container-type:inline-size;container-name:app}
#main{min-height:55vh}
.topbar{position:sticky;top:0;z-index:20;min-height:3.5rem;display:flex;align-items:center;gap:var(--s-6);padding:0 max(var(--s-5),calc((100% - var(--content))/2 + var(--s-5)));background:color-mix(in srgb,var(--white) 91%,transparent);backdrop-filter:blur(10px)}
.admin-bar .topbar{top:32px}
.logo{display:flex;align-items:center;gap:var(--s-3);color:var(--blue);text-decoration:none;flex-shrink:0}
.logo>svg{width:7.5rem;height:auto;display:block}
.logo .div{width:1px;height:2rem;background:var(--mid-gray)}
.psi-brand b{display:block;font-size:1.125rem;font-weight:700;line-height:1;color:var(--blue)}
.psi-brand small{display:block;color:var(--blue);font-size:var(--fs-label);line-height:1.2}
.topbar-r{margin-left:auto;display:flex;gap:var(--s-3);align-items:center}
/* Signed-in menu (TSK-20687, variant 1): one button, right-hand drawer on every width. */
.menu-btn{margin-left:auto;display:flex;align-items:center;gap:.625rem;min-height:2.75rem;padding:0 .375rem 0 1.125rem;border:1px solid var(--mid-gray);border-radius:var(--r-pill);background:var(--white);color:var(--blue);font:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.menu-btn:focus{background:var(--white);color:var(--blue)}
.menu-btn:hover,.menu-btn[aria-expanded="true"]{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 4%,var(--white));color:var(--blue)}
.menu-btn:focus-visible,.pm-close:focus-visible,.pm-row:focus-visible,.pm-languages a:focus-visible{outline:3px solid var(--action-blue);outline-offset:2px}
.menu-btn>svg{flex:none}
.pm-avatar{flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--blue);color:var(--white);display:grid;place-items:center;font-size:.75rem;font-weight:700;letter-spacing:.02em;line-height:1}
.portal-menu{position:fixed;inset:0 0 0 auto;width:min(22rem,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--white);color:var(--ink);box-shadow:var(--sh-pop);overflow-y:auto}
.portal-menu[open]{animation:pm-in .2s ease-out}
.pm-panel{display:flex;flex-direction:column;min-height:100%}
.portal-menu::backdrop{background:color-mix(in srgb,var(--blue-dark) 45%,transparent)}
@keyframes pm-in{from{transform:translateX(1.5rem);opacity:0}to{transform:none;opacity:1}}
.pm-top{min-height:3.5rem;display:flex;align-items:center;justify-content:space-between;padding:0 .5rem 0 var(--s-3);border-bottom:1px solid var(--light-gray);font-weight:700;color:var(--blue)}
.pm-close{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--blue);cursor:pointer;padding:0}
.pm-close:focus{background:none;color:var(--blue);box-shadow:none}
.pm-close:hover,.pm-close:focus-visible{background:var(--dim-white);color:var(--blue)}
.pm-who{display:flex;align-items:center;gap:.75rem;padding:var(--s-3);border-bottom:1px solid var(--light-gray)}
.pm-who .pm-avatar{width:2.75rem;height:2.75rem;font-size:.9375rem}
.pm-who b{display:block;color:var(--blue);line-height:1.25;overflow-wrap:anywhere}
.pm-who small{display:block;color:var(--muted);font-size:var(--fs-label);overflow-wrap:anywhere}
.pm-nav{display:flex;flex-direction:column;border-bottom:1px solid var(--light-gray)}
.pm-row{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.625rem var(--s-3);color:var(--blue);text-decoration:none;font-size:.9375rem}
.pm-row:hover{background:var(--dim-white);color:var(--blue)}
.pm-row>svg{flex:none}
.pm-row[aria-current]{font-weight:700;box-shadow:inset 3px 0 0 var(--green)}
.pm-label{margin:0;padding:.75rem var(--s-3) .25rem;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pm-languages{display:flex;gap:var(--s-2);padding:.25rem var(--s-3) var(--s-3)}
.pm-languages a{flex:1;display:flex;align-items:center;justify-content:center;min-height:2.75rem;border:1px solid var(--mid-gray);border-radius:var(--r-pill);color:var(--blue);text-decoration:none;font-size:.875rem}
.pm-languages a:hover{border-color:var(--blue);color:var(--blue)}
.pm-languages a[aria-current]{background:var(--blue);border-color:var(--blue);color:var(--white);font-weight:500}
.pm-logout{margin-top:auto;border-top:1px solid var(--light-gray)}
.portal-menu .mk-user-menu{display:block;margin-top:auto}
@media (prefers-reduced-motion:reduce){.portal-menu[open]{animation:none}.menu-btn{transition:none}}
.language-picker{position:relative;font-size:var(--fs-label);font-weight:500}
.language-picker summary{display:flex;align-items:center;gap:var(--s-2);cursor:pointer;min-height:2.75rem;list-style:none;color:var(--blue);white-space:nowrap}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary>svg{display:block;flex:none;width:1.375rem;height:1.375rem}
.language-picker summary>svg:last-child{width:1rem;height:1rem}
.language-options{position:absolute;top:100%;right:0;background:var(--white);border:1px solid var(--light-gray);box-shadow:var(--sh-pop);min-width:10rem;z-index:30}
.language-options a{display:flex;padding:.75rem 1rem;min-height:2.75rem;text-decoration:none}
.language-options a:hover{background:var(--dim-white)}
.language-options a[aria-current]{font-weight:700}
.skanska-portal{--mk-user-menu-trigger-bg:var(--blue);--mk-user-menu-trigger-hover-bg:var(--blue-mid);--mk-user-menu-trigger-color:var(--white);--mk-user-menu-radius:999px;--mk-user-menu-dropdown-radius:0;--mk-user-menu-dropdown-logout-color:var(--blue);--mk-user-menu-login-color:var(--blue);--mk-user-menu-login-border-color:var(--blue);--mk-user-menu-login-hover-bg:var(--blue);--mk-user-menu-login-hover-color:var(--white)}
.topbar .mk-user-menu__register{display:none}
.topbar .mk-user-menu__login{min-height:2.75rem;display:inline-flex;align-items:center;padding:.25rem 1rem;font-size:.75rem}
.topbar .mk-user-menu__trigger{min-height:2.75rem}
.topbar .mk-user-menu__welcome{font-size:.6875rem}
.topbar .mk-user-menu__name{font-size:var(--fs-label)}
.land-ft .logo>svg{width:8rem}
.land-ft-in{font-size:var(--fs-small)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.75rem 1.5rem;border:2px solid transparent;border-radius:var(--r-pill);font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none}
a.btn-primary{background:var(--green);color:var(--black)}
a.btn-primary:hover{background:var(--green-dark);color:var(--black)}
a.btn-tertiary,button.btn-tertiary{background:transparent;border:1px solid var(--blue);padding:calc(.75rem + 1px) calc(1.5rem + 1px);color:var(--blue)}
a.btn-tertiary:hover,button.btn-tertiary:hover{background:var(--dim-white);color:var(--blue)}
.btn svg{width:1rem;height:1rem}
.btn-secondary{background:var(--blue);color:var(--white);cursor:pointer}
.btn-secondary:hover{background:var(--blue-dark);color:var(--white)}
button.btn-tertiary{cursor:pointer}
.project-photo{min-height:10rem;background:var(--blue-mid) center/cover}
.section-title{font-size:1.75rem}
.course h3{font-size:1.375rem}
.participant-hero{--hero-img:url(assets/img/psi-team-berkaak.jpg)}
.project-card{border:1px solid var(--light-gray)}
.project-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.project-card>.stack{padding:var(--s-4)}
.arrow-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;font-weight:500;min-height:2.75rem}
.go-dot{width:1.5rem;height:1.5rem;background:var(--green);color:var(--black);border-radius:var(--r-pill);display:inline-grid;place-items:center;flex:none}
.go-dot svg{width:.875rem;height:.875rem}
.project-description{margin-top:var(--s-4);font-size:var(--fs-small);color:var(--muted)}
.phead{padding:var(--s-4) 0 var(--s-5);border-bottom:1px solid var(--mid-gray);margin-bottom:var(--s-5)}
.ph1{font-size:clamp(2.25rem,2.2vw + 1.4rem,3.5rem);letter-spacing:-.035em;line-height:1.02}
/* Native authentication keeps its nonce, anti-abuse, activation, errors and password reset. */
.skanska-portal .scorm-auth-container{background:transparent;padding:var(--s-6) var(--s-3);min-height:0;font-family:var(--font)}
.skanska-portal .scorm-auth-wrapper{background:var(--white);border-radius:0;border-top:4px solid var(--green);box-shadow:var(--sh-pop);padding:var(--s-5)}
.skanska-portal .scorm-auth-header{text-align:left;margin-bottom:var(--s-5)}
.skanska-portal .scorm-auth-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.025em;color:var(--blue);margin:0 0 .25rem}
.skanska-portal .scorm-auth-header p{font-size:1rem;color:var(--muted);margin:0}
.skanska-portal .scorm-auth-form-container{padding:0}
.skanska-portal .scorm-auth-errors{background:color-mix(in srgb,var(--red) 6%,var(--white));border:0;border-left:4px solid var(--red);border-radius:0;color:var(--ink);text-align:left;padding:var(--s-3);margin-bottom:var(--s-4)}
.skanska-portal .scorm-auth-errors p{color:var(--ink);margin:0}
.skanska-portal .scorm-auth-form .scorm-form-group{margin-bottom:var(--s-4)}
.skanska-portal .scorm-auth-form label{font-size:1rem;font-weight:500;color:var(--ink);margin-bottom:.5rem}
.skanska-portal .scorm-auth-form input:not([type=checkbox]):not([type=hidden]):not([type=submit]){border:1px solid var(--muted);border-radius:var(--r-sm);padding:.75rem;font-size:1rem;line-height:1.5;min-height:3rem;background:var(--white);color:var(--ink);box-shadow:none}
.skanska-portal .scorm-auth-form small{font-size:var(--fs-small);color:var(--muted)}
.skanska-portal .scorm-auth-form button[type=submit]{background:var(--green);color:var(--black);border-radius:var(--r-pill);font-size:1rem;font-weight:500;padding:1rem 1.5rem;min-height:3rem;border:0}
.skanska-portal .scorm-auth-form button[type=submit]:hover{background:var(--green-dark);color:var(--black)}
.project-registration .scorm-auth-container{padding:0;margin-top:calc(var(--s-7)*-1);position:relative;z-index:2;display:block}
.project-registration .scorm-auth-wrapper{max-width:none;width:100%;margin:0}
.project-registration .scorm-enroll-context{display:none}
.project-registration .scorm-auth-footer{background:transparent;border:0;padding:0;margin-top:1rem;font-size:var(--fs-small)}
#scorm-register-form{display:flex;flex-direction:column}
#scorm-register-form>.mk-pro-user-field:has([name=mk_pro_user_field_hms_kortnummer]){order:-1}
/* Sign-in screen = front page for guests (TSK-20685, prototype u-login): photo half + the fleet's own form. */
#main.login-split{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.login-photo{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-6);padding:var(--s-5);color:var(--white);background:linear-gradient(90deg,color-mix(in srgb,var(--blue-dark) 94%,transparent) 0%,color-mix(in srgb,var(--blue-dark) 70%,transparent) 45%,color-mix(in srgb,var(--blue-dark) 15%,transparent) 100%),url(assets/img/psi-hero-halogalandsvegen.jpg) center/cover,var(--blue-dark)}
.login-photo .logo{display:flex;align-items:center;gap:var(--s-3);color:var(--white)}
.login-photo .logo svg{width:7.5rem;height:auto;display:block}
.login-photo .logo .div{width:1px;align-self:stretch;background:color-mix(in srgb,var(--white) 35%,transparent)}
.login-photo .psi-brand b,.login-photo .psi-brand small{color:var(--white)}
.login-photo .land-eyebrow{color:var(--blue-soft)}
.login-title{font-size:clamp(2.25rem,2.4vw + 1.2rem,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.02;max-width:12ch;margin:var(--s-3) 0 var(--s-5);text-wrap:balance}
.login-photo .land-values{flex-direction:column;gap:var(--s-3);margin:0}
.login-photo .land-values div{max-width:none;font-size:1.0625rem}
.login-panel{display:flex;flex-direction:column;padding:var(--s-4) clamp(var(--s-4),5vw,var(--s-7)) var(--s-6)}
.login-panel-top{display:flex;justify-content:flex-end;min-height:2.75rem}
.login-split .scorm-auth-container{flex:1;display:flex;align-items:center;padding:var(--s-5) 0 0}
.login-split .scorm-auth-wrapper{width:100%;max-width:26rem;margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.login-split .scorm-auth-header h1{font-size:clamp(1.75rem,1.2vw + 1.2rem,2.25rem)}
.login-split .scorm-auth-form button[type=submit]{width:100%}
.login-split .scorm-form-links{text-align:center}
.login-split .scorm-form-links a{font-weight:500;text-decoration:underline;text-underline-offset:3px}
.login-split .scorm-auth-footer{display:none} /* Registration only via the project link; see .login-first. */
.login-first{display:grid;grid-template-columns:auto 1fr;gap:var(--s-3);align-items:start;background:var(--dim-white);padding:var(--s-4);margin-top:var(--s-5)}
.login-first svg{width:2.5rem;height:2.5rem;color:var(--blue)}
.login-first p{font-size:.9375rem}
.login-first b{display:block;color:var(--blue);font-size:1rem;margin-bottom:var(--s-1)}
@container app (max-width:52rem){
  #main.login-split{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .login-photo{padding:var(--s-4) var(--s-3) var(--s-5);gap:var(--s-5);background:linear-gradient(180deg,color-mix(in srgb,var(--blue-dark) 90%,transparent),color-mix(in srgb,var(--blue-dark) 75%,transparent)),url(assets/img/psi-hero-halogalandsvegen.jpg) center/cover,var(--blue-dark)}
  .login-photo .land-values{display:none}
  .login-title{font-size:2rem;margin:var(--s-2) 0 0}
  .login-panel{padding:var(--s-4) var(--s-3) var(--s-6)}
  /* The picker moves into the photo band's top-right corner, on the logo row (Sindre 23.09). */
  .login-panel-top{position:absolute;top:calc(var(--s-4) - .375rem);right:var(--s-3);z-index:2;min-height:0}
  .login-panel-top .language-picker summary{color:var(--white)}
  .login-split .scorm-auth-container{padding-top:0;align-items:flex-start}
  .login-split .scorm-auth-wrapper{max-width:none}
}
@container app (max-width:30rem){.login-photo .logo svg{width:6.5rem}.login-photo .psi-brand small{display:none}}
/* Existing leader functionality, reskinned; no parallel administration or mock controls. */
.skanska-portal .scorm-leader-dashboard{max-width:none;font-family:var(--font)}
.skanska-portal .gld-hero{padding:3rem 2rem;border-radius:0;background:linear-gradient(90deg,var(--blue-dark),transparent),url(assets/img/psi-bro-ytresteinsund.jpg) center/cover;color:var(--white)}
.skanska-portal .gld-title{color:var(--white);font-size:clamp(2.5rem,2.6vw + 1.4rem,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.02}
.skanska-portal .gld-greeting{color:var(--white)}
.skanska-portal .gld-summary{gap:var(--s-5);margin:var(--s-5) 0}
.skanska-portal .gld-summary-item{border:0;border-top:2px solid var(--blue);border-radius:0;box-shadow:none;padding:1rem 0;background:transparent}
.skanska-portal .gld-summary-icon{display:none}
.skanska-portal .gld-summary-value{font-size:2.125rem;font-weight:500;color:var(--blue)}
.skanska-portal .gld-summary-label{color:var(--ink);font-size:var(--fs-small)}
.skanska-portal .gld-card{border:1px solid var(--light-gray);border-radius:0;box-shadow:none;text-decoration:none}
.skanska-portal .gld-card:hover{border-color:var(--blue);box-shadow:none;transform:none}
.skanska-portal .gld-card-title{color:var(--blue)}
.skanska-portal .gld-card-arrow{background:var(--green);color:var(--black);border-radius:50%}
.skanska-portal .gld-bar,.skanska-portal .gld-bar-fill{border-radius:0}
.skanska-portal .gld-bar-fill{background:var(--green)}
.skanska-portal .gld-search-field{border-radius:0;min-height:3.5rem;border-color:var(--mid-gray)}
.skanska-portal .gld-filter-chip{border-radius:var(--r-pill);min-height:2.75rem}
.skanska-portal .gld-tabs{border-radius:0}
@container app (max-width:62rem){
  .topbar{padding:0 var(--s-3);gap:var(--s-3)}
  .project-registration .scorm-auth-container{order:-1}
}
@container app (max-width:48rem){
  .topbar{gap:var(--s-3)}.topbar .logo>svg{width:5.5rem}.topbar .logo{gap:var(--s-2)}.psi-brand small{display:none}
  .topbar-r{gap:var(--s-2)}
  .topbar--guest .language-picker summary>span:first-of-type{display:none}
  .project-registration .scorm-auth-container{margin-top:calc(var(--s-6)*-1)}
  .skanska-portal .scorm-auth-wrapper{padding:var(--s-4)}
  .skanska-portal .scorm-form-row{display:block}
  .land-hero{background:linear-gradient(0deg,color-mix(in srgb,var(--blue-dark) 92%,transparent),color-mix(in srgb,var(--blue-dark) 72%,transparent)),var(--hero-img,url(assets/img/psi-oppmaling-nordoyvegen.jpg)) center/cover,var(--blue-dark)}
  .skanska-portal .gld-hero{padding:2rem 1rem}
}
@media(max-width:782px){.admin-bar .topbar{top:46px}}
/* Fleet auth intentionally uses !important; override only the presentation properties. */
body.skanska-portal.scorm-auth-page .scorm-auth-wrapper .scorm-auth-header{padding:0;text-align:left}
body.skanska-portal.scorm-auth-page .scorm-auth-wrapper .scorm-auth-header h1{color:var(--blue)!important;text-align:left;font-size:1.75rem;line-height:1.08}
body.skanska-portal.scorm-auth-page .scorm-auth-wrapper .scorm-auth-header p{color:var(--muted)!important;text-align:left;font-size:1rem}
.skanska-portal .topbar .mk-user-menu--guest .mk-user-menu__register{display:none}
.skanska-portal .topbar .mk-user-menu--guest .mk-user-menu__login{border:1px solid var(--blue);border-radius:var(--r-pill)}
.skanska-portal .topbar .mk-user-menu--guest .mk-user-menu__login:hover{background:var(--blue);color:var(--white)}


/* Project registration link + QR (skanska-psi, lead's Invite tab) and its printable poster. */
.skanska-portal .skpsi-share{margin-top:var(--s-5);padding:var(--s-5);border:1px solid var(--light-gray);background:var(--white)}
.skanska-portal .skpsi-share h3{margin:0 0 var(--s-2);color:var(--blue);font-size:1.25rem}
.skanska-portal .skpsi-share-body{display:flex;gap:var(--s-5);align-items:flex-start;margin-top:var(--s-4)}
.skanska-portal .skpsi-share .skpsi-qr{flex:0 0 10rem;width:10rem;padding:var(--s-2);background:var(--white);border:1px solid var(--mid-gray)}
.skanska-portal .skpsi-qr svg{display:block;width:100%;height:auto}
.skanska-portal .skpsi-share-actions{flex:1;display:flex;flex-direction:column;gap:var(--s-2);min-width:0}
.skanska-portal .skpsi-share-actions label{font-weight:500;color:var(--ink)}
.skanska-portal .skpsi-share-actions input{width:100%;min-height:3rem;padding:0 var(--s-3);border:1px solid var(--mid-gray);border-radius:0;font:inherit;color:var(--ink);background:var(--dim-white)}
.skanska-portal .skpsi-share-buttons{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}
.skanska-portal .skpsi-share-closed{color:var(--muted)}
@media(max-width:40rem){.skanska-portal .skpsi-share-body{flex-direction:column}.skanska-portal .skpsi-share{padding:var(--s-4)}}
.skpsi-poster{display:none}
@page skpsi-poster{size:A4 portrait;margin:0}
@media print{
  body.skpsi-printing-poster > :not(.skpsi-poster){display:none!important}
  body.skpsi-printing-poster > .skpsi-poster{page:skpsi-poster;display:flex!important;box-sizing:border-box;height:297mm;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2cm;text-align:center;background:#fff;color:var(--blue);font-family:var(--font);break-after:avoid}
  .skpsi-poster .skpsi-poster-logo svg{width:9cm;height:auto;color:var(--blue)}
  .skpsi-poster p.skpsi-poster-project{font-size:22pt;font-weight:700;margin:0;color:var(--blue)}
  .skpsi-poster .skpsi-poster-qr{flex:none;width:9cm;padding:0;border:0}
  .skpsi-poster .skpsi-poster-qr svg{display:block;width:100%;height:auto}
  .skpsi-poster h2{font-size:18pt;margin:0;color:var(--blue)}
  .skpsi-poster p{font-size:12pt;margin:.25rem 0 0;color:var(--ink)}
  .skpsi-poster .skpsi-poster-url{font-size:10pt;color:var(--muted);word-break:break-all}
}

/* ---------- Prototype components (design/design-reference.html), shared by all portal pages ---------- */
.badge{display:inline-flex;align-items:center;gap:var(--s-1);border-radius:var(--r-pill);padding:.2rem .65rem;font-size:var(--fs-label);font-weight:500;color:var(--ink);white-space:nowrap;background:var(--light-gray)}
.badge svg{width:.9rem;height:.9rem}
.b-ok{background:color-mix(in srgb,var(--green) 22%,var(--white))} .b-ok svg{color:var(--green-dark)}
.b-warn{background:color-mix(in srgb,var(--orange) 18%,var(--white))} .b-warn svg{color:var(--orange)}
.b-bad{background:color-mix(in srgb,var(--red) 14%,var(--white))} .b-bad svg{color:var(--red)}
.b-info{background:color-mix(in srgb,var(--action-blue) 12%,var(--white))} .b-info svg{color:var(--action-blue)}
.b-mute{background:var(--light-gray)}
.firm{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3);border:1px solid var(--light-gray);font-size:var(--fs-small)}
.firm .ico{width:2rem;height:2rem;border-radius:var(--r-pill);display:grid;place-items:center;flex:none}
.firm.ok{background:color-mix(in srgb,var(--green) 12%,var(--white));border-color:color-mix(in srgb,var(--green) 45%,var(--white))} .firm.ok .ico{background:var(--green);color:var(--black)}
.firm.bad{background:color-mix(in srgb,var(--red) 8%,var(--white));border-color:var(--red)} .firm.bad .ico{background:var(--red);color:var(--white)}
.firm.down{background:color-mix(in srgb,var(--orange) 10%,var(--white));border-color:var(--orange)} .firm.down .ico{background:var(--orange);color:var(--black)}
.firm b{display:block;color:var(--ink);font-size:var(--fs-body)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3);padding:0;margin:var(--s-4) 0 0;list-style:none}
.step{display:flex;gap:var(--s-2)}
.step .n{width:2rem;height:2rem;flex:none;border-radius:var(--r-pill);background:var(--light-gray);color:var(--blue);display:grid;place-items:center;font-weight:700}
.step.done .n{background:var(--green);color:var(--black)}
.step b{display:block;font-weight:500}
.step span:not(.n){font-size:var(--fs-small);color:var(--muted)}
@container app (max-width:48rem){.steps{grid-template-columns:1fr 1fr}}
.course-meta{gap:var(--s-2)} .course-meta>svg{flex:none}
.center-page{min-height:60vh;display:grid;place-items:center;padding:var(--s-6) var(--s-3)}
.center-page .card{max-width:32rem;width:100%;border:0;border-top:4px solid var(--green);box-shadow:var(--sh-pop);padding:var(--s-5)}
.center-page .card h1{font-size:1.875rem;letter-spacing:-.03em}
.center-page .badge{align-self:flex-start}
.hero-note{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;background:var(--dim-white);padding:var(--s-4);border-left:4px solid var(--blue);margin-top:var(--s-6)}
.hero-note .ico{width:2.25rem;height:2.25rem;border-radius:var(--r-pill);background:var(--blue);color:var(--white);display:grid;place-items:center;flex:none}
.hero-note b{color:var(--blue)}
.land-ni b i{width:2rem;height:2.25rem;border:3px solid var(--orange);display:grid;place-items:center;font-style:normal;color:var(--orange);font-weight:800}
.skanska-portal .topbar .mk-user-menu--guest .mk-user-menu__login{min-height:0;padding:.3rem 1rem}

/* ---------- Registration: HMS card field (skanska-psi) and confirmation ---------- */
.skanska-portal .scorm-auth-form label:has(.skpsi-hms-help){display:flex;justify-content:space-between;align-items:center}
.skpsi-hms-help{width:1.375rem;height:1.375rem;border:2px solid var(--ink);border-radius:var(--r-pill);display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--ink);cursor:help}
.skpsi-hms-feedback:not([hidden]){display:flex;gap:var(--s-3);align-items:center;margin-top:var(--s-3);padding:var(--s-3);font-size:var(--fs-small);color:var(--ink);background:var(--dim-white);border:1px solid var(--light-gray)}
.skpsi-hms-feedback.is-idle{border-color:transparent}
.skpsi-hms-feedback.is-idle::before{content:'i';width:1.5rem;height:1.5rem;border-radius:var(--r-pill);background:var(--action-blue);color:var(--white);display:grid;place-items:center;font-weight:800;flex:none}
.skpsi-hms-feedback.is-success{background:color-mix(in srgb,var(--green) 12%,var(--white));border-color:color-mix(in srgb,var(--green) 45%,var(--white))}
.skpsi-hms-feedback.is-error{background:color-mix(in srgb,var(--red) 8%,var(--white));border-color:var(--red)}
.skpsi-hms-feedback.is-info{background:color-mix(in srgb,var(--orange) 10%,var(--white));border-color:var(--orange)}
.skpsi-confirm{order:1;display:flex;gap:var(--s-3);align-items:flex-start;margin:var(--s-2) 0 var(--s-5);font-weight:400!important;cursor:pointer}
.skanska-portal .scorm-auth-form .skpsi-confirm input{width:1.5rem;height:1.5rem;flex:none;margin:0;accent-color:var(--blue)}
#scorm-register-form>.scorm-form-group:has(button[type=submit]){order:2}
.skanska-portal .scorm-auth-form button[type=submit] .btn-text{display:inline-flex;align-items:center;gap:var(--s-3)}
.project-registration .scorm-auth-form button[type=submit] .btn-text::after{content:'';width:1.25rem;height:1.25rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.project-registration .scorm-auth-form button[type=submit]{width:100%}

/* ---------- Lead dashboard (fleet [mklms_group_leader_dashboard]) in the prototype's l-home / l-prosjekt layout ---------- */
.projects-page .gld-hero{display:none}
.skanska-portal .scorm-leader-dashboard{padding:0;font-size:1rem;color:var(--ink)}
.skanska-portal .scorm-leader-dashboard .gld-summary-icon,.skanska-portal .scorm-leader-dashboard .gld-stat-icon{display:none}
.skanska-portal .gld-search-input{font-size:1.0625rem;font-weight:400;color:var(--ink);padding:var(--s-3) 0}
.skanska-portal .gld-search-input::placeholder{color:var(--muted);opacity:1}
.skanska-portal .gld-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin:0 0 var(--s-5)}
.skanska-portal .gld-summary-item,.skanska-portal .gld-stat-card{display:block;border:0;border-top:2px solid var(--blue);border-radius:0;box-shadow:none;padding:var(--s-3) 0 0;background:transparent;min-height:0}
.skanska-portal .gld-summary-item>div,.skanska-portal .gld-stat-card>div{display:block}
.skanska-portal .gld-summary-icon,.skanska-portal .gld-stat-icon{display:none}
.skanska-portal .gld-summary-value,.skanska-portal .gld-stat-value{display:block;font-size:clamp(2rem,1.2vw + 1.4rem,2.75rem);font-weight:500;letter-spacing:-.03em;color:var(--blue);line-height:1.05}
.skanska-portal .gld-summary-label,.skanska-portal .gld-stat-label{display:block;margin-top:var(--s-1);font-size:var(--fs-small);color:var(--ink);text-transform:none;letter-spacing:0}
.skanska-portal .gld-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin:var(--s-5) 0 0}
.skanska-portal .gld-search-field{border-radius:0;min-height:3.5rem;border:1px solid var(--mid-gray);background:var(--white);padding:0 var(--s-4)}
.skanska-portal .gld-search-field svg{color:var(--blue)}
.skanska-portal .gld-filter-chip{border:1px solid var(--mid-gray);background:var(--white);border-radius:var(--r-pill);padding:var(--s-1) var(--s-3);min-height:0;font-size:var(--fs-small);color:var(--ink)}
.skanska-portal .gld-filter-chip.is-active{background:var(--blue);border-color:var(--blue);color:var(--white)}
.skanska-portal .gld-filter-dot{width:var(--s-2);height:var(--s-2)}
.skanska-portal .gld-dot-completed{background:var(--green)} .skanska-portal .gld-dot-in_progress{background:var(--orange)} .skanska-portal .gld-dot-not_started{background:var(--mid-gray)}
.skanska-portal .gld-filter-button{border:1px solid var(--mid-gray);border-radius:var(--r-pill);background:var(--white);font-size:var(--fs-small)}
.skanska-portal .gld-section-title{font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.skanska-portal .gld-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}
@container app (max-width:62rem){.skanska-portal .gld-grid,.skanska-portal .gld-summary,.skanska-portal .gld-stats-row{grid-template-columns:1fr 1fr}}
@container app (max-width:48rem){.skanska-portal .gld-grid{grid-template-columns:1fr}}
.skanska-portal .gld-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--light-gray);border-radius:0;background:var(--white);color:inherit}
.gld-card-photo{aspect-ratio:16/10;background:var(--blue-mid) center/cover}
.skanska-portal .gld-card-header{position:relative;display:block;padding:var(--s-3) var(--s-3) 0;border:0}
.skanska-portal .gld-card-icon{display:none}
.skanska-portal .gld-card-title-block h3{font-size:1.125rem;color:var(--blue);padding-right:2rem;line-height:1.08}
.skanska-portal .gld-card-meta{display:flex;align-items:center;gap:var(--s-1);margin-top:var(--s-2);font-size:var(--fs-small);color:var(--muted)}
.skanska-portal .gld-card-arrow{position:absolute;top:var(--s-3);right:var(--s-3);width:1.5rem;height:1.5rem;display:grid;place-items:center;background:var(--green);color:var(--black);border-radius:var(--r-pill)}
.skanska-portal .gld-card-arrow svg{width:.875rem;height:.875rem}
.skanska-portal .gld-card-body{padding:var(--s-2) var(--s-3) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}
.skanska-portal .gld-card-stats{display:flex;justify-content:space-between;gap:var(--s-2)}
.skanska-portal .gld-mini-stat,.skanska-portal .gld-mini-stat-accent{background:transparent;border:0;padding:0;text-align:left;border-radius:0}
.skanska-portal .gld-mini-value{display:block;font-size:1.125rem;font-weight:700;color:var(--ink)}
.skanska-portal .gld-mini-label{font-size:var(--fs-small);color:var(--ink);text-transform:none;letter-spacing:0}
.skanska-portal .gld-bar{height:var(--s-2);background:var(--light-gray);border-radius:var(--r-pill);overflow:hidden}
.skanska-portal .gld-bar-fill{border-radius:0;background:var(--green)}
/* Project detail */
.skanska-portal .gld-back{display:inline-block;margin-top:var(--s-3);font-size:var(--fs-small);font-weight:500;color:var(--muted);letter-spacing:.02em;text-decoration:underline}
.skanska-portal .gld-detail-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;padding:var(--s-2) 0 var(--s-5);border-bottom:1px solid var(--mid-gray);margin:0}
.skanska-portal .gld-detail-header h2{font-size:clamp(2.25rem,2.2vw + 1.4rem,3.5rem);letter-spacing:-.035em;line-height:1.02;color:var(--blue);font-weight:700}
.skanska-portal .gld-subtitle{margin-top:var(--s-2);font-size:var(--fs-small);color:var(--muted)}
.skanska-portal .gld-subtle-link{color:var(--blue);text-decoration:underline}
.skanska-portal .gld-btn-outline{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.75rem 1.5rem;border:1px solid var(--blue);border-radius:var(--r-pill);background:transparent;color:var(--blue);font-weight:500}
.skanska-portal .gld-btn-outline .dashicons{font-size:1rem;width:1rem;height:1rem}
.skanska-portal .gld-tabs{display:flex;gap:var(--s-4);border:0;border-bottom:1px solid var(--light-gray);border-radius:0;background:transparent;margin:var(--s-4) 0;padding:0;overflow-x:auto}
.skanska-portal .gld-tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:var(--s-2) 0;color:var(--muted);font-size:1rem;font-weight:400;white-space:nowrap;box-shadow:none}
.skanska-portal .gld-tab .dashicons{display:none}
.skanska-portal .gld-tab.gld-tab-active{color:var(--blue);border-bottom-color:var(--blue);font-weight:500;background:none}
.skanska-portal .gld-add-learner:has(.gld-empty-state-inline){display:none}
/* Participant list */
.skanska-portal .gld-participants-list,.skanska-portal .gld-plist{border:1px solid var(--light-gray);border-radius:0;box-shadow:none;overflow:hidden}
.skanska-portal .gld-user img{display:none}
.skanska-portal .gld-user-name{color:var(--ink);font-weight:500}
.skanska-portal .gld-user-email{font-size:var(--fs-small);color:var(--muted)}
.skanska-portal .gld-stat-green{color:var(--green-dark)} .skanska-portal .gld-stat-orange{color:var(--orange)} .skanska-portal .gld-stat-gray{color:var(--muted)}
.skanska-portal .gld-icon-btn{width:2rem;height:2rem;border:1px solid var(--light-gray);border-radius:var(--r-pill);background:var(--white);color:var(--blue)}
.skanska-portal .gld-chevron{display:none}
.skanska-portal .gld-participant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.skanska-portal .gld-participant-summary{grid-column:1/-1}
.skanska-portal .gld-participant-row.gld-expanded .gld-participant-summary{background:var(--dim-white)}
.skanska-portal .gld-participant-row:not(.gld-expanded) .gld-participant-custom-fields{display:none}
.skanska-portal .gld-participant-row:not(.gld-expanded) .skpsi-participant{display:none}
.skanska-portal .gld-expanded .gld-participant-detail,.skanska-portal .gld-expanded .skpsi-participant{background:var(--dim-white);padding:var(--s-3) var(--s-4) var(--s-4)}
.skpsi-participant{font-size:var(--fs-small)}
.skpsi-participant p+p{margin-top:var(--s-1)}
.skpsi-participant-title{font-size:var(--fs-label);font-weight:500;color:var(--muted);margin-bottom:var(--s-2)!important}
.skpsi-badge{display:inline-flex;align-items:center;gap:var(--s-1);border-radius:var(--r-pill);padding:.1rem .6rem;font-size:var(--fs-label);font-weight:500;color:var(--ink)}
.skpsi-badge.is-ok{background:color-mix(in srgb,var(--green) 22%,var(--white))}
.skpsi-badge.is-ok::before{content:'✓';color:var(--green-dark)}
.skpsi-badge.is-warn{background:color-mix(in srgb,var(--orange) 18%,var(--white))}
.skpsi-badge.is-bad{background:color-mix(in srgb,var(--red) 14%,var(--white))}
@container app (max-width:48rem){.skanska-portal .gld-participant-row{grid-template-columns:1fr}}

/* ---------- Profile: the fleet page, trimmed to what the prototype's d-profil shows ---------- */
.skanska-portal .scorm-profile-stats,.skanska-portal .scorm-profile-resume,.skanska-portal .scorm-profile-courses,.skanska-portal .scorm-profile-groups{display:none}
.skanska-portal .gld-tab{min-height:2.6875rem}
.skanska-portal .gld-participants-header,.skanska-portal .gld-participant-summary{grid-template-columns:minmax(0,2.4fr) minmax(0,1.6fr) repeat(3,minmax(0,.7fr)) 7rem;gap:var(--s-3);padding:var(--s-3) var(--s-4)}
.skanska-portal .gld-participants-header{background:var(--dim-white);font-size:var(--fs-label);font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0;padding-block:var(--s-2)}
.skanska-portal .gld-participants-header>*{font-size:inherit;font-weight:inherit;text-transform:none;letter-spacing:0;color:inherit}
.skanska-portal .gld-participant-row{border-top:1px solid var(--light-gray)}
.skanska-portal .gld-participant-summary:hover{background:var(--dim-white)}
.skanska-portal .gld-progress-cell{display:flex;gap:var(--s-2);align-items:center}
.skanska-portal .gld-progress-cell .gld-bar{flex:1}
.skanska-portal .gld-progress-pct{font-size:var(--fs-small);color:var(--ink)}
.skanska-portal .gld-stat-num{font-weight:700;font-size:1rem}
.skanska-portal .gld-ph-actions{display:flex;justify-content:flex-end;gap:var(--s-1)}
.skanska-portal .gld-legend{display:flex;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-top:1px solid var(--light-gray);font-size:var(--fs-small);color:var(--muted)}
.skanska-portal .gld-dot-green{background:var(--green-dark)} .skanska-portal .gld-dot-orange{background:var(--orange)} .skanska-portal .gld-dot-gray{background:var(--mid-gray)}
@container app (max-width:48rem){.skanska-portal .gld-participants-header{display:none}.skanska-portal .gld-participant-summary{grid-template-columns:1fr auto}}
.skanska-portal .gld-invite-intro h2{font-size:1.5rem;color:var(--blue);letter-spacing:-.025em}
.skanska-portal .gld-invite-intro p{margin-top:var(--s-1);color:var(--muted);font-size:1rem}
.skanska-portal .gld-course-detail-list{border:0;padding:0;margin:0}
/* Profile (prototype d-profil): one narrow column; the prototype's .narrow width (44rem), not a brand token. */
.profile-page{max-width:44rem;margin:0 auto;display:flex;flex-direction:column;gap:var(--s-5)}
.profile-page .phead{display:block;padding:var(--s-4) 0 var(--s-5);border-bottom:1px solid var(--mid-gray);margin:0}
.profile-page .ph1{margin-top:var(--s-2)}
.eyebrow-l{font-size:var(--fs-small);font-weight:500;color:var(--muted);letter-spacing:.02em}
.profile-page .scorm-my-profile{padding:0;max-width:none}
.profile-page .scorm-my-profile__title,.profile-page .scorm-my-profile__subtitle,.profile-page .scorm-profile-account>.scorm-profile-section__header,.profile-page .scorm-profile-identity__top,.profile-page [data-profile-edit-cancel]{display:none}
.profile-page .scorm-profile-identity{background:var(--white);border:1px solid var(--light-gray);border-radius:0;padding:var(--s-4);box-shadow:none}
.profile-page .scorm-profile-identity__editor{margin:0;padding:0;border:0;background:transparent}
.profile-page .scorm-profile-editor__section{padding:0;border:0;background:transparent}
.profile-page .scorm-profile-editor__section+.scorm-profile-editor__section{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--light-gray)}
.profile-page .scorm-profile-editor__section:first-child>.scorm-profile-editor__section-title,.profile-page .mk-pro-cf-profile-fields>.scorm-profile-editor__section-title{display:none}
.profile-page .mk-pro-cf-profile-fields{margin:0!important;padding:0!important;border:0!important}
.profile-page .scorm-form-group{margin-bottom:var(--s-4)}
.profile-page .scorm-form-group label,.skpsi-employer-label{display:block;font-weight:500;color:var(--ink);margin-bottom:var(--s-1)}
.profile-page input[type=text],.profile-page input[type=email],.profile-page input[type=password]{border:1px solid var(--muted);border-radius:var(--r-sm);padding:.75rem;width:100%;max-width:28rem;min-height:3rem;font-size:1rem;background:var(--white)}
.profile-page [data-mk-pro-cf-input=hms_kortnummer]{max-width:15ch;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.profile-page .scorm-btn-primary{background:var(--blue);color:var(--white);border:0;border-radius:var(--r-pill);min-height:2.75rem;padding:.75rem 1.5rem;font-weight:500}
.profile-page .scorm-btn-primary:hover{background:var(--blue-dark)}
.profile-page .scorm-profile-editor__section-title{font-size:var(--fs-h3);color:var(--blue);margin-bottom:var(--s-3)}
.profile-page .scorm-profile-section__title{font-size:var(--fs-h3);color:var(--blue)}
.profile-page .scorm-profile-certificates,.profile-page .scorm-profile-section{margin:0}
.profile-page>.card h3{margin:0}
.skanska-email-hint{font-size:var(--fs-small);color:var(--muted);margin:calc(var(--s-3) * -1) 0 var(--s-4)}
.skanska-portal .scorm-auth-form input::placeholder{color:var(--muted);opacity:1}
.project-registration .scorm-auth-footer a{font-weight:400;text-decoration:underline}
.profile-page .scorm-form-group label:has(.skpsi-hms-help){display:flex;justify-content:flex-start;gap:var(--s-2)}
.profile-page input[data-mk-pro-cf-input=hms_kortnummer]{max-width:15ch;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.skpsi-hms-feedback.is-hint:not([hidden]){display:block;padding:0;background:none;border:0;color:var(--muted);margin-top:var(--s-1)}
.skanska-portal .profile-page .scorm-form-group label,.skpsi-employer-label{font-size:1rem}
.profile-page .scorm-form-group small,.profile-page .scorm-profile-editor__hint,.profile-page .password-strength{display:block;font-size:var(--fs-small);color:var(--muted)}
@container app (max-width:48rem){.steps{grid-template-columns:1fr}}
.land-ni b{white-space:nowrap}
.skanska-portal .gld-stat-num{background:transparent;padding:0}
.topbar .mk-user-menu__trigger:focus-visible{outline:3px solid var(--action-blue);outline-offset:2px}

/* Project form (prototype l-nytt, .wrap.narrow = 44rem like the profile) and its confirmation. Form classes copied from the prototype's forms section. */
.project-form-page{max-width:44rem;margin:0 auto;display:flex;flex-direction:column;gap:var(--s-5)}
.project-form-page .phead{display:block;margin:0}
.project-form-page .eyebrow-l a{color:var(--muted)}
.skpsi-project-form .field{display:flex;flex-direction:column;gap:var(--s-1)}
.skpsi-project-form .field+.field{margin-top:var(--s-4)}
.skpsi-project-form .field label{font-weight:500}
.skpsi-project-form .hint{font-size:var(--fs-small);color:var(--muted)}
.skpsi-project-form .inp{border:1px solid var(--muted);border-radius:var(--r-sm);padding:.75rem;background:var(--white);width:100%;max-width:28rem;font-size:1rem;color:var(--ink)}
.skpsi-project-form .inp.w-name{max-width:20rem}
.skpsi-project-form select.inp{appearance:auto}
.skpsi-project-form .row{margin-top:var(--s-5)}
.skpsi-project-form .skpsi-form-section{font-size:1.25rem;margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--light-gray)}
.skpsi-project-form .opt{font-weight:400;color:var(--muted)}
.skpsi-project-form textarea.inp{max-width:none;font-family:inherit;resize:vertical}
button.btn-primary{background:var(--green);color:var(--black);cursor:pointer}
button.btn-primary:hover{background:var(--green-dark);color:var(--black)}
.btn-ghost{background:transparent;color:var(--blue);padding-left:0;padding-right:0}
.btn-ghost:hover{color:var(--blue-dark);text-decoration:underline}
.btn-sm{min-height:0;padding:var(--s-2) var(--s-3);font-size:var(--fs-small)}
.skpsi-form-error,.skpsi-notice{border-left:4px solid var(--red);background:color-mix(in srgb,var(--red) 6%,var(--white));padding:var(--s-3);font-weight:500}
.skpsi-notice{border-left-color:var(--green);background:color-mix(in srgb,var(--green) 12%,var(--white));margin:var(--s-4) 0 0}
.projects-hero .skanska-new-project{margin-top:var(--s-4)}
.gld-groups-head{margin-bottom:var(--s-4)}
.gld-groups-head .gld-section-title{margin:0}
/* Invitations go out at once: the fleet's «Planlegg utsending» choice is not offered (Sindre 23.09). Default is «now». */
.projects-page .gld-invite-schedule .gld-when-label,.projects-page .gld-invite-schedule .gld-seg,.projects-page .gld-invite-when{display:none!important}


/* Lead's Invite tab (fleet markup) in the prototype's form and button language. Presentation only. */
.skanska-portal .gld-btn-primary{background:var(--green);border-color:var(--green);color:var(--black);border-radius:var(--r-pill);font-weight:500}
.skanska-portal .gld-btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark);color:var(--black)}
.skanska-portal .gld-btn-secondary{background:transparent;border:1px solid var(--blue);color:var(--blue);border-radius:var(--r-pill);font-weight:500}
.skanska-portal .gld-btn-secondary:hover{background:var(--dim-white);color:var(--blue)}
.skanska-portal .gld-bulk-invite .gld-input,.skanska-portal .gld-bulk-invite textarea,.skanska-portal .gld-add-learner .gld-input{border:1px solid var(--muted);border-radius:var(--r-sm);background:var(--white);font-family:inherit;color:var(--ink)}
.skanska-portal .gld-bulk-invite textarea::placeholder{font-family:inherit}
.skanska-portal .gld-bulk-invite .gld-invite-schedule{margin-top:var(--s-5)!important}

/* User menu (Sindre 23.09, prototype d-home): no «Mine kurs» (My PSI is the front page) and no «Rediger profil» (the
   profile page opens with the editor). The fleet menu has no filter for its items; hidden items leave the tab order. */
.skanska-portal .mk-user-menu__dropdown-item[href$="/min-profil/"],.skanska-portal .mk-user-menu__dropdown-item[href*="edit=1"]{display:none}
