:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#182f3a;background:#f5f8f8}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.sidebar{background:#112b39;color:white;padding:34px 20px;display:flex;flex-direction:column}.brand{font-size:27px;letter-spacing:-1.4px;font-weight:800;display:flex;align-items:center;gap:12px}.brandmark{border:1px solid #55d5af;border-radius:12px;color:#71ddbb;width:38px;height:38px;display:grid;place-items:center;letter-spacing:0;font-size:25px}.dot{color:#6cdebb}.subbrand{color:#849eaa;font-size:10px;letter-spacing:2px;margin:9px 0 48px 51px}nav{display:grid;gap:9px}nav button{font:inherit;text-align:left;color:#b7cbd2;background:transparent;border:0;border-radius:10px;padding:13px 16px;cursor:pointer;display:flex;gap:14px;font-size:14px}nav button.active,nav button:hover{background:#214656;color:white}.asidefoot{margin-top:auto;font-size:11px;line-height:1.8;color:#8199a6}main{min-width:0;padding:50px min(5vw,72px) 24px;max-width:1600px;width:100%;margin:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:35px}header small{font-size:11px;font-weight:700;letter-spacing:2px;color:#789198}h1{font-size:clamp(29px,3vw,43px);letter-spacing:-1.8px;margin:14px 0 10px;color:#16313d}header p{color:#6c848b;line-height:1.6;margin:0}.profile{font-size:12px;color:#466a69;background:#e6f3ef;border:1px solid #d4e8e1;padding:10px 14px;border-radius:40px;white-space:nowrap}.signal{display:inline-block;width:7px;height:7px;background:#36af80;border-radius:50%;margin-right:5px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.card,.panel{background:#fff;border:1px solid #e1e9eb;border-radius:16px;padding:24px;box-shadow:0 6px 20px #0d2d3910}.card small,.eyebrow{font-size:11px;letter-spacing:1.2px;font-weight:800;color:#779098;text-transform:uppercase}.metric{font-size:32px;color:#173843;font-weight:750;margin:14px 0 5px;letter-spacing:-1px}.card p,.panel p{color:#72878f;font-size:13px;line-height:1.6}.panel{margin-bottom:20px}.panel h2{font-size:20px;letter-spacing:-.5px;margin:2px 0 8px}.sectiongrid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f2;gap:14px;padding:17px 0}.row:last-child{border:0}.row strong{font-size:14px}.row small{display:block;color:#82949a;margin-top:5px}.pill{background:#edf4f5;color:#46656e;padding:7px 10px;border-radius:20px;font-size:11px;white-space:nowrap}.pill.green{background:#e4f7ed;color:#298561}.btn{background:#176a60;border:0;color:#fff;padding:11px 16px;border-radius:9px;cursor:pointer;font-weight:650}.btn:disabled{background:#bac8c9;cursor:not-allowed}.empty{padding:45px 20px;text-align:center;background:#f9fbfb;border:1px dashed #cbdcde;border-radius:12px;margin-top:22px}.empty strong{display:block;font-size:17px;margin:0 0 8px}.empty p{max-width:460px;margin:0 auto 20px}footer{font-size:12px;color:#8ba0a6;margin-top:30px}@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{padding:14px 18px}.brand{font-size:23px}.subbrand,.asidefoot{display:none}nav{display:flex;overflow:auto;margin-top:16px;gap:5px}nav button{white-space:nowrap;padding:10px}main{padding:28px 18px}header{display:block}.profile{display:inline-block;margin-top:20px}.cards{grid-template-columns:1fr}.sectiongrid{grid-template-columns:1fr}}
.auth-panel{display:flex;justify-content:center;margin:50px auto}.auth-card{background:#fff;border:1px solid #dce8ea;border-radius:20px;padding:32px;width:min(100%,440px);box-shadow:0 12px 30px #0d2d3911}.auth-card h2{font-size:25px;margin:12px 0}.auth-card p{color:#617d86;line-height:1.5}.auth-card form{display:grid;gap:11px;margin-top:25px}.auth-card label{font-size:13px;font-weight:700}.auth-card input{border:1px solid #cadcdf;border-radius:9px;padding:13px;font:inherit;max-width:100%}.auth-card .btn{margin-top:8px}.secondary{background:#e8f2f1;color:#176a60;border:0;padding:11px 16px;border-radius:9px;cursor:pointer}.data-note{padding:14px;background:#f1f7f5;border-radius:12px;margin-bottom:20px;font-size:13px;color:#466968}

[hidden]{display:none!important}

.apprentice-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:17px;margin-top:24px}
.apprentice-form>h3{grid-column:1/-1;font-size:16px;margin:12px 0 0;color:#183844}
.apprentice-form>label{font-size:13px;font-weight:650;display:flex;flex-direction:column;gap:7px;color:#34525d}
.apprentice-form input,.apprentice-form select{width:100%;max-width:100%;font:inherit;border:1px solid #cadcdf;border-radius:9px;background:#fff;padding:12px;color:#18333c}
.apprentice-form>p,.apprentice-form>button{grid-column:1/-1}
@media(max-width:650px){.apprentice-form{grid-template-columns:1fr}}

/* LK20 browser */
.curriculum-result{display:grid;grid-template-columns:minmax(180px,1fr) minmax(125px,180px) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e5edef}
.curriculum-result strong{font-size:13px;line-height:1.45}
.curriculum-result select{width:100%;min-width:0}
.curriculum-result button{white-space:nowrap}
.curriculum-goal-list{padding-left:1.5rem;line-height:1.65}
.curriculum-goal-list li{padding:7px 0;border-bottom:1px solid #eff3f4}
@media(max-width:700px){.curriculum-result{grid-template-columns:1fr 1fr}.curriculum-result strong{grid-column:1/-1}.curriculum-result button{white-space:normal}}

/* Lærlingprofil og bedriftsoppsett */
.pathway-steps{display:grid;gap:14px;margin-top:18px}
.pathway-step{border:1px solid #e0e9ea;border-radius:13px;padding:18px;background:#fbfdfd}
.pathway-step h3{margin:0 0 9px;font-size:16px;color:#173843}
.pathway-step p{margin:8px 0 13px}
.pathway-step details{margin-top:14px}
.pathway-step progress,.row progress{accent-color:#21836d}
@media(max-width:700px){.row{flex-wrap:wrap}.row>div:first-child{width:100%}.pathway-step{padding:14px}}

.review-step-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.review-step-nav button{font-size:12px}
.review-area{border:1px solid #e2eaea;border-radius:12px;padding:16px;margin:12px 0}
.review-item{border:0;border-bottom:1px solid #e5eeee;margin:0 0 12px;padding:10px 0 16px;display:grid;gap:10px}
.review-item legend{font-weight:650;color:#223f48}
.review-item label{display:grid;gap:6px}
.review-item textarea{width:100%;min-height:56px}
.review-criteria{margin-bottom:20px}
@media(max-width:700px){.review-step-nav{display:grid;grid-template-columns:1fr 1fr}.review-step-nav button{white-space:normal;text-align:left}}

.profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 22px}.profile-actions button{min-width:145px}@media(max-width:700px){.profile-actions{display:grid;grid-template-columns:1fr 1fr}.profile-actions button{min-width:0}}

.apprentice-registration .registration-section[hidden]{display:none!important}

/* Structured learner overview */
.learner-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:20px 0 12px;padding:14px;background:#f4f8f7;border-radius:12px}
.learner-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:650;min-width:180px}
.learner-filters select{max-width:100%;min-height:40px}
.learner-company-heading{display:flex;flex-direction:column;gap:3px;flex:1;min-width:160px}
.learner-company-heading strong{font-size:16px}
.learner-company-heading small{color:#708990;font-size:12px}
.learner-department-title{font-size:14px;margin:25px 0 3px;padding:10px 12px;background:#eef5f3;border-left:3px solid #17766a;border-radius:5px}
.learner-department-title + .row{border-top:0}
@media(max-width:700px){.learner-filters{display:grid;grid-template-columns:1fr}.learner-filters label{min-width:0}}

.learner-row{cursor:pointer;border-radius:9px;padding-inline:10px}.learner-row:hover,.learner-row:focus-visible{background:#eef7f4;outline:2px solid #a7d8c8;outline-offset:1px}.learner-row button{flex-shrink:0}

.learner-list-tools{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;margin:14px 0 22px}
.learner-list-tools label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}
.learner-list-tools select,.learner-list-tools input{min-height:40px;border:1px solid #cedcde;border-radius:8px;padding:8px 12px;font:inherit;background:white}
.learner-search-label{flex:1;min-width:220px;max-width:420px}
.learner-search-label input{width:100%}
.learner-row[hidden],.learner-department-title[hidden]{display:none!important}
@media(max-width:700px){.learner-list-tools{display:grid;grid-template-columns:1fr}.learner-search-label{min-width:0;max-width:none}}

.learner-person{display:flex;align-items:center;gap:13px;min-width:220px;flex:1}.learner-avatar{width:46px;height:46px;min-width:46px;border-radius:50%;background:#d8eee8;color:#155d54;display:grid;place-items:center;font-size:14px;font-weight:750;overflow:hidden}.learner-avatar img{width:100%;height:100%;object-fit:cover}.learner-row .learner-person small{line-height:1.6}

.learner-profile-header{display:flex;gap:16px;align-items:center;margin-bottom:12px}.learner-profile-header .learner-avatar{width:76px;height:76px;min-width:76px;font-size:24px}.learner-profile-header h2{margin:0}.learner-profile-header p{margin:5px 0}

nav #systemadmin-nav[hidden]{display:none!important}

/* Samlet opplæringsbok */
.opplaering-goal{border:1px solid #dce8e5;border-radius:12px;padding:13px 16px;margin:10px 0;background:#fff}
.opplaering-goal summary{cursor:pointer;font-weight:650;line-height:1.55;color:#173843}
.opplaering-goal[open]{background:#fbfdfc}
.opplaering-goal>label{display:grid;gap:6px;margin:12px 0}
.opplaering-goal select,.opplaering-goal textarea{width:100%}
#content .apprentice-form select[multiple]{min-height:135px;white-space:normal}
@media(max-width:700px){.opplaering-goal{padding:12px}#content .cards{grid-template-columns:1fr}}

.goal-picker{display:grid;gap:12px;margin:12px 0}.goal-picker>p{margin:0;color:#607c85;font-size:13px}
.goal-picker>input[type=search]{width:100%;padding:12px;border:1px solid #cedcde;border-radius:9px}
.goal-picker-summary{padding:12px;background:#eff7f4;border-radius:10px}
.goal-picker-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.goal-picker-chip{max-width:100%;font-size:12px!important;white-space:normal;text-align:left;line-height:1.4;border:1px solid #b5d7cf!important;background:white!important;padding:7px 10px!important;border-radius:18px!important;color:#15594e!important}
.goal-picker-list{display:grid;gap:0;border:1px solid #e0e9eb;border-radius:10px;max-height:390px;overflow-y:auto}
.goal-picker-item{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid #eaf0f1;cursor:pointer;line-height:1.5;font-weight:400!important}
.goal-picker-item:hover{background:#f4faf8}.goal-picker-item:last-child{border-bottom:0}
.goal-picker-item input[type=checkbox]{margin-top:4px;min-width:17px;width:17px;height:17px;flex-shrink:0;accent-color:#117c68}
.goal-picker-item span{flex:1;min-width:0}

/* Oppfølging: en inngang, korte samtaler og tydelig historikk. */
.followup-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.followup-cards .pathway-step{margin:0}
.followup-form{margin-top:24px;border-top:1px solid #dce8e5;padding-top:18px}
.followup-question{padding:12px 0;border-bottom:1px solid #e4eded}
.followup-question>label{display:grid;gap:8px;font-weight:600}
.followup-question textarea{width:100%;min-height:56px;font-weight:400}
.followup-question select{width:100%}
@media(max-width:720px){.followup-cards{grid-template-columns:1fr}}

/* Praktiske delmål – felles visning på mobil og PC */
.practical-picker{padding:18px;border:1px solid #dce9e7;border-radius:14px;background:#f8fbfa;margin:16px 0}
.practical-picker>input{width:100%;margin:10px 0 14px}
.training-area{border:1px solid #dae7e4;border-radius:12px;margin:10px 0;background:#fff;padding:12px 16px}
.training-area>summary{font-weight:700;cursor:pointer;color:#163e42;padding:5px 0}
.training-area .goal-picker-item{margin-top:7px}
.training-subgoal{padding:14px 0;border-top:1px solid #e6eded}
.training-subgoal>p{margin:6px 0 10px}
.training-subgoal>label{display:grid;gap:6px;margin:10px 0}
.training-subgoal select,.training-subgoal textarea{width:100%}
@media(max-width:700px){.practical-picker{padding:12px}.training-area{padding:10px}}


/* Læreplan – kun én åpen lesevisning, helt adskilt fra lærlingens arbeidslogg. */
.fagspor-curriculum-dialog{position:fixed;inset:0;border:0;border-radius:17px;padding:0;width:min(920px,calc(100% - 24px));max-width:920px;max-height:calc(100dvh - 24px);overflow:hidden;color:#17343c;box-shadow:0 22px 65px #081e2666}
.fagspor-curriculum-dialog::backdrop{background:#0f2838ae}
.curriculum-dialog-inner{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);background:#f6f9f9}
.curriculum-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:16px;background:#fff;border-bottom:1px solid #dae6e7;padding:24px 28px}
.curriculum-dialog-header small{color:#228477;font-weight:700;letter-spacing:.8px;font-size:11px}
.curriculum-dialog-header h2{margin:6px 0;color:#16313d;font-size:clamp(20px,2.5vw,27px)}
.curriculum-dialog-header p{font-size:13px;color:#70858c;margin:5px 0}
.curriculum-dialog-header button{flex-shrink:0}
.curriculum-load-status{margin:0;padding:10px 28px;color:#55747e;font-size:12px}
.curriculum-dialog-content{padding:8px 28px 30px;overflow-y:auto;overscroll-behavior:contain}
.curriculum-menu-group{margin:14px 0 26px}
.curriculum-menu-group h3{font-size:15px;margin:8px 0 11px;color:#173a41}
.curriculum-section{margin:8px 0;border:1px solid #dae6e7;border-radius:11px;background:#fff;overflow:hidden}
.curriculum-section summary{padding:15px 18px;cursor:pointer;font-weight:650;line-height:1.4;color:#19464b}
.curriculum-section[open] summary{border-bottom:1px solid #e3eded;background:#eff8f5}
.curriculum-section summary:hover{background:#edf5f2}
.curriculum-section-body{padding:10px 18px 22px}
.curriculum-section-body h4{font-size:14px;margin:18px 0 7px;color:#1c4248}
.curriculum-section-body p,.curriculum-section-body li{font-size:14px;line-height:1.75;color:#314c55;white-space:pre-line}
.curriculum-section-body .curriculum-goal-list{padding-left:23px}
.curriculum-section-body .curriculum-goal-list li{margin:9px 0}
.curriculum-section-body a,.curriculum-dialog-footer a{color:#156c62;font-size:13px}
.curriculum-dialog-footer{padding:14px 28px;border-top:1px solid #e1ecec;background:#fff}
@media(max-width:650px){.fagspor-curriculum-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.curriculum-dialog-inner{max-height:100dvh;height:100dvh}.curriculum-dialog-header{padding:17px 16px}.curriculum-dialog-content{padding:4px 14px 18px}.curriculum-load-status{padding:10px 16px}.curriculum-dialog-footer{padding:12px 16px}.curriculum-dialog-header button{font-size:12px;padding:10px}}


/* Samme progresjonsmål på lærlingens profil og i lærlingoversikten. */
.learner-progress{padding:18px 20px;margin:17px 0 22px;border-radius:14px;border:1px solid #d9e8e5;background:#f6fbf9}
.learner-progress h3{margin:0 0 16px;font-size:16px;color:#17413c}
.learner-progress-line{margin:14px 0 17px}
.learner-progress-heading{display:flex;justify-content:space-between;gap:12px;margin:0 0 6px;font-size:14px}
.learner-progress-line progress{display:block;width:100%;height:12px;accent-color:#178170}
.learner-progress-line small{display:block;margin:7px 0 0;color:#536d75;font-size:12px}
.learner-progress>p{margin:10px 0 0;font-size:12px;color:#6a8086}
.postal-lookup-status{display:block;min-height:15px;margin:4px 0 0;font-size:12px;color:#517b75;font-weight:400}
@media(max-width:650px){.learner-progress{padding:14px}}


/* Oppfølgingssamtaler 2026 – fokus på mål, eierskap og utført oppfølging */
.review-modern{max-width:1080px}
.review-modern-top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}
.review-modern-top small{color:#178576;font-size:11px;letter-spacing:.09em;font-weight:750}
.review-modern-top h2{margin:5px 0 7px;font-size:clamp(22px,3vw,30px)}
.review-modern-top p{margin:0;color:#688087}
.review-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 22px}
.review-summary-strip>div{background:#f3faf7;border:1px solid #dceae6;border-radius:12px;padding:15px;display:grid;gap:5px}
.review-summary-strip small{font-size:12px;color:#54736c}
.review-summary-strip strong{font-size:18px;color:#193e3b}
.review-modern-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}
.review-modern-list{display:grid;gap:12px}
.review-meeting-card{padding:20px 22px;border:1px solid #dce7e7;border-radius:13px;background:#fff}
.review-meeting-card h3{margin:0 0 9px;font-size:17px}
.review-meeting-card>p{margin:10px 0}
.review-meeting-card-head{display:flex;justify-content:space-between;align-items:center}
.review-status{display:inline-block;padding:4px 10px;border-radius:14px;font-size:11px;font-weight:700;background:#eff1f4;color:#51636e}
.review-status.is-complete{background:#e6f6f0;color:#156c54}
.review-meeting-preview{background:#f7faf9;border-radius:9px;padding:9px 14px;margin:12px 0}
.review-meeting-preview p{margin:7px 0;line-height:1.5}
.review-delivery-state{font-size:12px;color:#54716d}
.review-modern-feedback{font-size:13px;color:#4c6470;line-height:1.5}
.review-editor{margin:24px 0 30px;padding:25px;border-radius:16px;background:#f9fbfa;border:1px solid #c9dfd9}
.review-editor>h3{margin:0 0 7px;font-size:22px}
.review-editor>p{color:#526a70}
.review-modern-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.review-editor label{display:grid;gap:8px;margin:10px 0;font-size:13px;font-weight:650}
.review-editor label>input:not([type=checkbox]),.review-editor label>textarea{border:1px solid #ccdeda;border-radius:8px;padding:11px;font:inherit;width:100%;font-weight:400;box-sizing:border-box}
.review-modern-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 17px;padding:4px;border-radius:10px;background:#eaf2ef}
.review-modern-tabs button{flex:1;min-width:150px}
.review-modern-section{padding:19px 0}
.review-modern-section h3{margin:0 0 10px;font-size:19px;color:#18473f}
.review-modern-section>p{margin:0 0 18px;color:#688087}
.review-modern-views{min-height:240px}
.review-modern-views .review-step[hidden]{display:none}
.review-measures{display:grid;gap:10px}
.review-measure-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;border:1px solid #dae9e4;border-radius:11px;padding:13px;background:white}
.review-measure-row label{min-width:0;margin:0}
.review-measure-row button{margin-bottom:1px}
.review-finalize{border-top:1px solid #d8e8e3;padding-top:18px;margin-top:15px}
.review-finalize>label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:start;gap:8px}
.review-finalize>p{font-size:12px;color:#668079}
@media(max-width:760px){.review-summary-strip{grid-template-columns:1fr 1fr}.review-modern-basics{grid-template-columns:1fr}.review-measure-row{grid-template-columns:1fr 1fr}.review-measure-row label:first-child{grid-column:1/-1}.review-modern-tabs{display:grid;grid-template-columns:1fr}.review-editor{padding:14px}.review-modern-top{flex-wrap:wrap}}
@media(max-width:460px){.review-summary-strip{grid-template-columns:1fr}.review-meeting-card{padding:14px}}


/* Invitasjonsstatus og klargjøringskontroll på lærlingprofil */
.apprentice-invite-card{margin:20px 0;padding:20px 22px;border:1px solid #d8e5e2;background:linear-gradient(120deg,#f7fbf9 0%,#fff 82%);border-radius:14px}
.apprentice-invite-title{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px}
.apprentice-invite-title h3{margin:0 0 6px;color:#163c37;font-size:19px}
.apprentice-invite-title p{margin:0;color:#566f69;font-size:13px;line-height:1.6;max-width:590px}
.apprentice-invite-badge{font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;background:#e8edf1;color:#3c5560;border-radius:20px}
.apprentice-invite-badge.is-not_invited{background:#edf1f4;color:#485e68}
.apprentice-invite-badge.is-sent{background:#e3efff;color:#205c93}
.apprentice-invite-badge.is-active{background:#dff5e8;color:#176144}
.apprentice-invite-badge.is-linked{background:#f9f0dd;color:#875a22}
.apprentice-invite-details{margin:15px 0;font-size:13px;line-height:1.65;color:#3e5953}
.apprentice-invite-details p{margin:6px 0}
.apprentice-invite-details ul{margin:8px 0;padding-left:22px}
.apprentice-invite-details li{padding:2px 0}
.invite-timeline{display:grid;gap:3px;margin:12px 0}
.invite-timeline p{margin:0;font-size:13px}
.apprentice-invite-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.apprentice-invite-controls button[disabled]{opacity:.65;cursor:not-allowed}
.apprentice-invite-feedback{margin:10px 0 0;min-height:20px;font-size:13px;color:#345e56}
@media(max-width:600px){.apprentice-invite-card{padding:15px}.apprentice-invite-title{flex-direction:column;align-items:flex-start}}


/* Kort rolleveiledning for superadministrator */
.access-role-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:9px;margin:18px 0 24px}
.access-role-help>div{border:1px solid #deebe6;border-radius:11px;padding:13px;background:#f8fbf9}
.access-role-help strong{font-size:13px;color:#163e39}
.access-role-help p{font-size:12px;line-height:1.5;color:#4e6a61;margin:5px 0 0}


/* Innstillinger: tydelige faner for bedriftsdata, roller og avdelinger */
.settings-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 22px;padding:6px;background:#eef5f2;border-radius:12px}
.settings-tabs button{flex:1 1 180px;min-width:0;text-align:center;padding:12px 14px}
.settings-tabs button[aria-selected="true"]{background:#19695c;color:#fff;border-color:#19695c}
.settings-pane[hidden]{display:none!important}
.settings-access-form{margin:22px 0 16px;padding:19px;border:1px solid #dceae4;border-radius:12px;background:#f8fbfa;display:grid;gap:9px}
.settings-access-form h3{font-size:19px;color:#17483e;margin:0}
.settings-access-form>p{color:#56736b;font-size:13px;line-height:1.55;margin:0 0 8px}
.settings-access-form>label{margin:0}
.settings-access-form>button{justify-self:start}
.settings-current-roles{margin:20px 0 8px;border-top:1px solid #dde9e5;padding-top:14px}
.settings-current-roles h3{margin:0 0 12px}
.settings-current-roles p{padding:8px 0;margin:0;color:#435e57;font-size:13px}
.settings-current-roles p+p{border-top:1px solid #edf3ef}
@media(max-width:680px){.settings-tabs{display:grid;grid-template-columns:1fr}.settings-tabs button{width:100%}.settings-access-form{padding:12px}}

.settings-success-note{padding:12px 16px;color:#175a49;background:#e5f5ec;border:1px solid #b9e2ca;border-radius:10px;margin-bottom:14px}
.settings-current-department{font-size:14px;margin:15px 0 8px;color:#1b5048}


/* Utdanning og fagprøve – Vg1, Vg2, Vg3 teori og praksis */
.education-profile-link{margin:16px 0;padding:19px 21px;border:1px solid #dce9e5;background:#f6fbf8;border-radius:13px}
.education-profile-link h3{font-size:18px;color:#183f38;margin:0 0 7px}
.education-profile-link p{color:#536d64;font-size:13px;line-height:1.6;margin:0 0 13px}
.education-overview{margin:20px 0 22px}
.education-overview-intro h3{font-size:21px;margin:0 0 6px;color:#163e36}
.education-overview-intro p{font-size:13px;line-height:1.6;color:#597268;margin:0 0 18px}
.education-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.education-stage-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid #dce9e4;border-radius:14px;background:#fff;min-width:0}
.education-stage-card h4{font-size:17px;margin:0;color:#173c35}
.education-stage-card>small{font-size:12px;color:#617b72}
.education-stage-card>p{font-size:13px;line-height:1.6;color:#294f46;margin:0}
.education-stage-card>strong{font-size:17px;color:#14594d}
.education-stage-card>button{align-self:flex-start;margin-top:auto}
.education-stage-card progress{width:100%;height:13px;accent-color:#16836b}
.education-stage-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.education-stage-status{font-size:11px;font-weight:720;padding:5px 9px;border-radius:15px;background:#ecf1ef;color:#56736a;white-space:normal}
.education-stage-status.is-complete{background:#e4f4eb;color:#196446}
.education-stage-status.is-partial{background:#fff2d9;color:#916017}
.education-stage-status.is-missing{background:#f0f2f3;color:#596b70}
.education-deviation{background:#fff8ea;border-left:3px solid #dba94e;border-radius:6px;padding:9px 12px}
.education-deviation strong{display:block;font-size:12px;color:#805819;margin-bottom:4px}
.education-deviation p{font-size:12px;color:#6c531f;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.education-checklist{padding:20px 22px;margin:16px 0 25px;border:1px solid #d9e8e2;border-radius:14px;background:#f8fbf9}
.education-checklist h3{font-size:20px;color:#174d3f;margin:0 0 4px}
.education-checklist-summary{font-size:13px;color:#4b7267;margin:0 0 17px}
.education-checklist ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.education-checklist li{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-radius:9px;background:#fff;border:1px solid #e2ece7}
.education-checklist li.is-pending{background:#fffaf2;border-color:#f4ead9}
.education-check-icon{font-size:18px;color:#158366;line-height:1.1;flex-shrink:0}
.education-checklist li.is-pending .education-check-icon{color:#bc871b}
.education-checklist li strong{font-size:13px;color:#183f36}
.education-checklist li small{display:block;color:#647d73;font-size:12px;line-height:1.5;margin-top:3px;white-space:pre-wrap;overflow-wrap:anywhere}
.education-checklist>p:last-child{color:#627b71;font-size:12px;line-height:1.6;margin:15px 0 0}
.apprentice-form textarea[name="deviation_note"]{width:100%;box-sizing:border-box;border:1px solid #ccdeda;border-radius:9px;padding:12px;font:inherit;resize:vertical}
@media(max-width:720px){.education-stage-grid{grid-template-columns:1fr}.education-stage-card{padding:15px}.education-checklist{padding:14px}}


/* Personlig faglig ansvarlig – innlogget lærling ser valgt kontakt, leder velger fra sikre kandidater */
.learner-responsible-person{padding:15px 17px;border:1px solid #cfe6df;border-radius:11px;background:#f1faf5;margin:12px 0 16px}
.learner-responsible-person strong{display:block;color:#1d6553;font-size:12px;letter-spacing:.025em;margin-bottom:6px}
.learner-responsible-person p{font-size:17px;font-weight:700;color:#183f36;margin:0 0 4px}
.learner-responsible-person small{font-size:12px;color:#4d7167}
.learner-instructors{display:grid;gap:5px;padding-bottom:8px}
.learner-instructors p{margin:0;padding:6px 0;font-size:13px}
.learner-supervisor-editor{margin:18px 0 20px;padding:16px;border:1px solid #dee9e4;border-radius:12px;background:#fbfdfc}
.learner-supervisor-editor h4{font-size:16px;color:#163e37;margin:0 0 6px}
.learner-supervisor-editor>p{font-size:13px;color:#59756b;line-height:1.6;margin:0 0 12px}
.learner-supervisor-editor label{display:grid;gap:7px;font-size:13px;font-weight:700;margin:0 0 12px}
.learner-supervisor-editor select{width:100%;padding:12px;border:1px solid #cadbd5;border-radius:9px;font:inherit;font-weight:400;min-height:46px;background:#fff;color:#1b413a}
.learner-supervisor-editor button{margin-top:0}
@media(max-width:640px){.learner-responsible-person{padding:13px}.learner-supervisor-editor{padding:13px}}


/* Brukeroversikt: navn, passordlenker og instruktørtilgang */
.settings-account-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e1ece7}
.settings-account-row strong{display:block;font-size:14px;color:#193f37}
.settings-account-row p{font-size:12px;color:#5b7068;margin:4px 0}
.settings-password-status{display:block;max-width:320px;color:#26745a;font-size:12px;line-height:1.5;white-space:normal}
.settings-instructor-overview{border-top:1px solid #dceae4;margin-top:23px;padding-top:19px}
.settings-instructor-overview h3{margin:0 0 8px;font-size:18px;color:#173e36}
.settings-instructor-overview>p{font-size:13px;line-height:1.65;color:#587269;margin:0 0 14px}
.settings-instructor-card{padding:16px;border:1px solid #dce8e2;border-radius:12px;margin:12px 0;background:#fbfdfc}
.settings-instructor-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px}
.settings-instructor-header strong{display:block;font-size:15px;color:#173f38}
.settings-instructor-header small{display:block;color:#607b71;font-size:12px;line-height:1.5;margin-top:4px}
.settings-instructor-card h4{font-size:13px;color:#345f53;margin:14px 0 8px}
.settings-instructor-card>p{color:#667a73;font-size:12px}
.settings-instructor-assignment{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px;border-radius:9px;background:#f2f8f5;padding:10px 12px;margin:7px 0;font-size:13px}
.settings-instructor-card>button:last-child{margin-top:12px}
@media(max-width:600px){.settings-instructor-card{padding:12px}.settings-instructor-assignment{align-items:flex-start}}


/* Inviter eller velg instruktør direkte fra lærlingprofilen */
.instructor-assignment-form{display:grid;gap:11px;margin:16px 0 22px}
.instructor-assignment-form h4{margin:0;color:#174338}
.instructor-assignment-form>p{margin:0;color:#5b716a;font-size:13px;line-height:1.65}
.instructor-assignment-form label{display:grid;gap:7px;font-size:13px;font-weight:650}
.instructor-assignment-form select,.instructor-assignment-form input[type=email]{width:100%;box-sizing:border-box;min-height:45px;padding:11px 12px;border:1px solid #c9dcd3;border-radius:9px;background:#fff;font:inherit}
.instructor-assignment-form label[hidden]{display:none}
.instructor-assignment-form .instructor-primary-toggle{display:flex;align-items:center;gap:10px}
.instructor-assignment-form .instructor-primary-toggle input{width:19px;height:19px}
.instructor-assignment-form button{width:100%}
.instructor-assignment-status{min-height:19px;color:#235c4c;font-size:13px;line-height:1.6}


/* Modern responsive apprentice profile and exam workflow */
.learner-profile-modern{max-width:1080px;width:100%;margin-inline:auto;padding:clamp(15px,2.8vw,30px);border-radius:22px}
.learner-profile-modern .learner-profile-header{display:flex;align-items:center;gap:17px;margin-bottom:17px;position:relative}
.learner-profile-modern .learner-profile-lead{display:none}
.learner-profile-modern .learner-profile-header h2{font-size:clamp(20px,3vw,30px);line-height:1.15;letter-spacing:-.7px;overflow-wrap:anywhere}
.learner-profile-modern .learner-profile-header .learner-avatar{width:clamp(62px,8vw,90px);height:clamp(62px,8vw,90px);min-width:clamp(62px,8vw,90px);flex:none}
.learner-profile-modern .profile-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:22px 0 12px}
.learner-profile-modern .profile-actions button{min-width:0;min-height:68px;text-align:left;display:flex;align-items:center;justify-content:flex-start;font-size:13px;font-weight:700;line-height:1.4;padding:13px;border:1px solid #d4e7df;border-radius:13px;background:#eff8f4;color:#176050;white-space:normal}
.learner-profile-modern .profile-actions button:hover,.learner-profile-modern .profile-actions button:focus-visible{background:#dcf2e7;border-color:#90c6ae}
.learner-profile-modern .profile-actions button:nth-child(3){background:#e5f6ee;border-color:#a5d6bc}
.learner-profile-guide{font-size:12px!important;line-height:1.6;color:#59736a!important;margin:0 0 20px}
.learner-profile-modern .learner-progress{border-radius:16px;margin:13px 0 20px}
.learner-profile-modern .pathway-step{border-radius:15px}
.education-stage-card.is-editable{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}
.education-stage-card.is-editable:hover,.education-stage-card.is-editable:focus-visible{border-color:#7bba9f;box-shadow:0 5px 19px #195a4715;outline-offset:3px}
.education-stage-open{font-size:13px;font-weight:700;color:#176850;margin-top:auto}
.education-editor-dialog{width:min(620px,calc(100vw - 24px));max-height:min(90dvh,920px);overflow:auto;border:1px solid #d9e7e1;border-radius:19px;background:#fff;color:#17372f;box-shadow:0 25px 90px #122c3545;padding:clamp(16px,3vw,26px)}
.education-editor-dialog::backdrop{background:#102d39a3;backdrop-filter:blur(2px)}
.education-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.education-editor-heading h3{font-size:20px;margin:0}
.education-editor-heading button{flex:none}
.education-editor-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.education-editor-form>label,.education-editor-form>p{grid-column:1/-1}
.education-editor-form label input,.education-editor-form label select,.education-editor-form label textarea{width:100%;max-width:100%}
.education-editor-form button{width:100%;min-height:44px}
.trade-exam-page{max-width:1080px;margin-inline:auto;padding:clamp(18px,3vw,30px)}
.trade-exam-header{display:flex;align-items:start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}
.trade-exam-header h2{font-size:clamp(24px,3vw,33px);margin:8px 0;color:#173d36}
.trade-exam-header p{font-size:13px;color:#657f74}
.trade-exam-hero{border-radius:18px;background:linear-gradient(125deg,#155b50,#237c64);color:#fff;padding:clamp(19px,4vw,31px);margin:14px 0 17px}
.trade-exam-hero small{font-size:11px;color:#cff3e5;letter-spacing:.09em;font-weight:750}
.trade-exam-hero h3{font-size:clamp(20px,3vw,30px);font-weight:800;letter-spacing:-.6px;line-height:1.4;margin:9px 0 8px;color:#fff}
.trade-exam-hero p{font-size:12px;line-height:1.6;margin:0;color:#e3f6ed}
.trade-exam-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0}
.trade-exam-stage{padding:19px;border:1px solid #dce8e2;border-radius:14px;background:#f8fbfa}
.trade-exam-stage h3{font-size:16px;color:#16473e;margin:0 0 11px}
.trade-exam-badge{display:inline-flex;font-size:12px;border-radius:99px;padding:6px 10px;font-weight:750;background:#eef1f3;color:#566e73}
.trade-exam-badge.confirmed{background:#d9f1e4;color:#176c51}
.trade-exam-stage p{font-size:13px!important;margin:11px 0 0;color:#547268}
.trade-exam-editor{border-radius:13px;border:1px solid #d8e8e0;margin:19px 0;padding:17px;background:#fbfdfc}
.trade-exam-editor summary{font-size:14px;font-weight:750;color:#176450;cursor:pointer}
.trade-exam-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px}
.trade-exam-form>small{grid-column:1/-1;font-size:12px;color:#587568}
.trade-exam-form>label:not(.trade-exam-toggle){display:grid;gap:8px;color:#1a4940;font-weight:650;font-size:13px}
.trade-exam-form label input[type=date]{width:100%;min-width:0;padding:11px;border:1px solid #caddd4;border-radius:9px;font:inherit}
.trade-exam-form .trade-exam-toggle{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650}
.trade-exam-toggle input{width:19px;height:19px;flex:none}
.trade-exam-form button{min-height:45px}
.trade-exam-checklist{margin-top:20px}
@media(max-width:760px){
 .learner-profile-modern .profile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .learner-profile-modern .profile-actions button{min-height:58px}
 .trade-exam-stages{grid-template-columns:1fr}
 .trade-exam-page .education-checklist{padding:15px}
}
@media(max-width:530px){
 main{padding:19px 10px 20px}
 .learner-profile-modern{border-radius:15px;padding:15px 13px}
 .learner-profile-modern .learner-profile-header{gap:12px}
 .learner-profile-modern .learner-profile-header h2{font-size:21px}
 .learner-profile-modern .learner-profile-header .learner-avatar{width:61px;height:61px;min-width:61px}
 .learner-profile-modern .profile-actions{gap:7px}
 .learner-profile-modern .profile-actions button{font-size:12px;padding:10px;min-height:57px}
 .trade-exam-page{padding:16px 12px}
 .trade-exam-form{grid-template-columns:1fr}
 .trade-exam-header>button{width:100%}
 .education-editor-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;padding:18px 13px}
 .education-editor-form{grid-template-columns:1fr;gap:11px}
}


/* Fravær og læretid: selvstendig modul som virker uten Huma */
.absence-page{max-width:1080px;margin-inline:auto;padding:clamp(15px,3vw,30px)}
.absence-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.absence-header small{display:block;font-size:11px;font-weight:760;letter-spacing:.08em;color:#52756b}
.absence-header h2{font-size:clamp(23px,3.4vw,33px);color:#173e37;line-height:1.15;letter-spacing:-.5px;margin:8px 0}
.absence-header p{font-size:13px;color:#5c786d;margin:0;line-height:1.6}
.absence-header>button{min-height:42px}
.absence-notice{font-size:12px;line-height:1.65;background:#f0f7f4;color:#41675a;border-radius:9px;padding:10px 13px;margin:10px 0}
.absence-notice.is-warning{background:#fff3e1;color:#865a18}
.absence-notice.is-success{background:#e6f6ee;color:#176c4d}
.absence-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:21px 0 11px}
.absence-stats article{border:1px solid #d9e9e2;background:#f9fcfa;padding:17px 18px;border-radius:14px;min-width:0}
.absence-stats small{font-size:10px;letter-spacing:.04em;color:#61796f;font-weight:750}
.absence-stats strong{font-size:clamp(24px,3vw,32px);line-height:1.4;color:#185a47;display:block;margin:6px 0}
.absence-stats p{font-size:12px;color:#657970;margin:0;line-height:1.5}
.absence-method{font-size:12px;line-height:1.6;color:#6c8178;margin:8px 0 20px}
.absence-review-banner{background:#f0f8f4;border:1px solid #cde6d7;border-radius:14px;padding:16px 18px;margin:17px 0}
.absence-review-banner.needs-review{background:#fff8e9;border-color:#edcf8f}
.absence-review-banner strong{font-size:15px;color:#1a624a}
.absence-review-banner.needs-review strong{color:#886015}
.absence-review-banner p{font-size:12px;color:#526e63;line-height:1.65;margin:7px 0 0}
.absence-periods{margin:20px 0}
.absence-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:11px;margin:0 0 14px}
.absence-section-heading h3{font-size:20px;color:#17473a;margin:0}
.absence-section-heading>button{min-height:43px}
.absence-period-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.absence-period{padding:17px;border:1px solid #e0ebe6;border-radius:13px;background:#fff;min-width:0}
.absence-period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.absence-period-head strong{display:block;font-size:14px;color:#1d453a}
.absence-period-head small{display:block;font-size:12px;color:#637b70;margin-top:5px}
.absence-source{border-radius:20px;background:#eaf4ee;color:#34735b;font-size:11px;padding:5px 8px;white-space:nowrap}
.absence-period-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}
.absence-detail span{display:block;font-size:11px;color:#647e71}
.absence-detail strong{display:block;font-size:14px;color:#1d4c3c;margin-top:4px}
.absence-period-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid #eef2ef}
.absence-period-actions button{font-size:12px;padding:9px 11px}
.absence-followup-card{border-radius:16px;background:#f6faf8;border:1px solid #d9e8e0;padding:clamp(15px,3vw,25px);margin:19px 0}
.absence-followup-heading h3{font-size:20px;color:#164c3d;margin:0 0 7px}
.absence-followup-heading p{font-size:12px;color:#607c71;line-height:1.7;margin:0 0 16px}
.absence-followup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.absence-followup-form label,.absence-editor-form label{display:grid;gap:7px;align-content:start;font-size:12px;font-weight:710;color:#36594e;min-width:0}
.absence-followup-form label input,.absence-followup-form label select,.absence-followup-form label textarea,
.absence-editor-form label input,.absence-editor-form label select{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #c9dcd2;padding:10px 11px;border-radius:9px;background:#fff;color:#193c32;font:inherit;font-weight:400}
.absence-followup-form label:has(textarea){grid-column:1/-1}
.absence-followup-form textarea{resize:vertical;min-height:115px}
.absence-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.absence-form-actions p{font-size:12px;color:#2c765b}
.absence-editor-dialog{width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border-radius:18px;border:1px solid #d9e8e0;box-shadow:0 25px 80px #15322f4d;padding:clamp(16px,3vw,25px)}
.absence-editor-dialog::backdrop{background:#0b2b298a}
.absence-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.absence-dialog-heading h3{font-size:21px;color:#173f34;margin:0}
.absence-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.absence-editor-form .absence-notice{grid-column:1/-1}
.absence-editor-form button{min-height:45px}
.absence-editor-form p[role=status]{grid-column:1/-1;color:#267355;font-size:12px}
@media(max-width:720px){
 .absence-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .absence-stats article:first-child{grid-column:1/-1}
 .absence-period-list{grid-template-columns:1fr}
 .absence-followup-form{grid-template-columns:1fr}
}
@media(max-width:480px){
 .absence-page{padding:15px 12px}
 .absence-header>button,.absence-section-heading>button{width:100%}
 .absence-stats{gap:8px}
 .absence-stats article{padding:12px}
 .absence-editor-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;padding:17px}
 .absence-editor-form{grid-template-columns:1fr}
 .absence-period-details{grid-template-columns:1fr 1fr}
 .absence-review-banner{padding:13px}
}


/* Lite oppfølgingssignal på profilen; ingen medisinsk informasjon vises */
.learner-profile-modern .profile-actions button.absence-attention-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;background:#fff7e6;border-color:#ead098;color:#775317}
.absence-attention-label{display:block;font-size:10px;font-weight:700;white-space:normal;line-height:1.4}


/* Bedriftens systemer */
.company-systems-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.company-systems-header h2{margin:0 0 8px}
.company-systems-header p{margin:0;color:var(--muted,#667889);max-width:780px;line-height:1.5}
.company-systems-header>button{flex-shrink:0}
.company-systems-list{display:flex;flex-direction:column;gap:0}
.company-system-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;border-top:1px solid #e2e9ed}
.company-system-info{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;flex:1}
.company-system-info strong{font-size:1rem;line-height:1.4}
.company-system-category{font-size:.77rem;font-weight:600;letter-spacing:.02em;color:#527180;background:#edf3f4;border-radius:6px;padding:4px 9px}
.company-system-url{max-width:100%;overflow-wrap:anywhere;font-size:.9rem;text-decoration:none}
.company-system-url:hover{text-decoration:underline}
.company-system-note{margin:2px 0 0;color:#647987;font-size:.85rem}
.company-system-row-actions{display:flex;gap:8px;flex-shrink:0}
.company-system-row-actions button{min-width:76px}
.company-system-editor{margin-top:20px;padding:22px;border:1px solid #dce6e9;border-radius:12px;background:#f6faf9}
.company-system-editor[hidden]{display:none}
.company-system-editor h3{margin:0 0 18px}
.company-system-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.company-system-fields label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.9rem;min-width:0}
.company-system-fields input,.company-system-fields select{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:42px;padding:9px 12px;border:1px solid #cbd8dc;border-radius:8px;background:#fff;font:inherit;font-weight:400}
.company-system-actions{display:flex;gap:10px;margin-top:20px}
.company-system-feedback{margin:14px 0 0;color:#526d7b;font-size:.9rem}
.company-system-feedback:empty{display:none}
@media(max-width:700px){.company-systems-header{flex-direction:column}.company-system-row{align-items:flex-start;gap:12px;flex-direction:column}.company-system-row-actions{width:100%}.company-system-fields{grid-template-columns:1fr}.company-system-editor{padding:16px}}


/* Systemkort – eksplisitt layout også der global panel-CSS overstyrer elementer */
.company-systems .company-systems-header{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.company-systems .company-systems-list{display:grid!important;gap:12px}
.company-systems .company-system-row{display:flex!important;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #dce7e9;border-radius:12px;background:#fff}
.company-systems .company-system-info{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;min-width:0}
.company-systems .company-system-info strong{display:block;font-size:1.06rem}
.company-systems .company-system-category{display:inline-block;font-weight:600}
.company-systems .company-system-url{display:block;overflow-wrap:anywhere;line-height:1.5}
.company-systems .company-system-row-actions{display:flex!important;flex-direction:row;gap:10px;align-items:center;margin-left:auto}
.company-systems .company-system-row-actions button{white-space:nowrap}
.learner-company-systems{margin-top:20px;padding:18px 0;border-top:1px solid #e0e8eb}
.learner-company-systems h3{margin:0 0 12px}
.learner-systems-links{display:flex;flex-wrap:wrap;gap:10px}
.learner-systems-links .learner-system-link{display:inline-flex;gap:12px;align-items:center;justify-content:space-between;padding:11px 14px;background:#edf5f4;border:1px solid #d3e4e2;border-radius:10px;color:#126e64;text-decoration:none;font-weight:600}
.learner-systems-links .learner-system-link:hover{background:#e0efec}
@media(max-width:640px){.company-systems .company-system-row{flex-direction:column;align-items:stretch}.company-systems .company-system-row-actions{margin-left:0}.company-systems .company-systems-header{align-items:flex-start}}


/* Oversiktlig målplan: kompakte mål, detaljer åpnes ved behov */
.training-plan-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 14px}
.training-plan-toolbar strong{margin-right:auto;color:#183748}
.training-plan-group{border:1px solid #dbe5e8;border-radius:12px;background:#fff;margin:10px 0;overflow:hidden}
.training-plan-group-heading{display:flex;align-items:center;gap:12px;padding:15px 18px;font-weight:700;cursor:pointer;background:#f5f9f9}
.training-plan-group-heading span{flex:1}
.training-plan-group-heading small{color:#627d89;font-weight:500}
.training-plan-items{padding:0 16px}
.training-plan-item{border-top:1px solid #e8eef0;padding:13px 2px}
.training-plan-item-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.training-plan-check{display:flex;align-items:flex-start;gap:12px;flex:1 1 440px;min-width:0;line-height:1.5;font-weight:500}
.training-plan-check input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:#14766d}
.training-plan-check span{min-width:0}
.training-plan-meta{color:#64808a;margin-left:auto;font-size:.78rem}
.training-plan-edit{margin-left:0;white-space:nowrap}
.training-plan-item-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr);gap:14px;margin:16px 0 4px 30px;padding:15px;border-radius:10px;background:#f2f7f7}
.training-plan-item-fields[hidden]{display:none}
.training-plan-item-fields label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.86rem;font-weight:600}
.training-plan-item-fields label:last-child{grid-column:1/-1}
.training-plan-item-fields input,.training-plan-item-fields select,.training-plan-item-fields textarea{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #c9d8dc;border-radius:7px;background:#fff;font:inherit;font-weight:400}
.company-ai-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0}
.company-ai-plan-actions p{flex-basis:100%;margin:0}
@media(max-width:700px){.training-plan-item-heading{align-items:flex-start}.training-plan-meta{order:3;width:100%;margin-left:30px}.training-plan-item-fields{grid-template-columns:1fr;margin-left:0}.training-plan-item-fields label:last-child{grid-column:auto}.training-plan-toolbar strong{width:100%}}


/* Forskjellene gjelder bare bedriftens redigeringsside, ikke lærlingens målplan */
.training-plan-item.training-plan-ai{background:#f0f8f6;border-left:3px solid #48a58e;padding-left:12px;margin-left:-12px}
.training-plan-item.training-plan-manual{background:#fff8e9;border-left:3px solid #d3a04d;padding-left:12px;margin-left:-12px}
.training-plan-item.training-plan-ai .training-plan-meta{color:#267768}
.training-plan-item.training-plan-manual .training-plan-meta{color:#94621f}
.training-plan-item.training-plan-ai .training-plan-meta::after{content:" · AI-tilpasset"}
.training-plan-item.training-plan-manual .training-plan-meta::after{content:" · Endret av bedriften"}
.company-ai-plan-actions button{font-weight:600}

.training-goal-coverage{padding:11px 14px;background:#f2f7f7;border-radius:8px;color:#385e66;font-size:.9rem;line-height:1.5}
.training-goal-coverage.training-coverage-warning{background:#fff6e7;color:#8c5b22}

.training-plan-custom{background:#fff8e9;border-left:3px solid #d3a04d;padding:12px!important;margin:10px 0;border-radius:6px}

.training-plan-item-fields label:first-child{grid-column:1/-1}
@media(max-width:700px){.training-plan-item-fields label:first-child{grid-column:1}}


/* Brukere og tilganger: én samlet linje per person */
.access-users-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0 12px}
.access-users-toolbar h3{margin:0}
.access-users-toolbar input{width:min(100%,320px);padding:10px 12px;border:1px solid #d0dcdf;border-radius:9px}
.access-user-cards{display:flex;flex-direction:column;gap:8px}
.access-user-card{border:1px solid #dce6e8;border-radius:11px;background:#fff;overflow:hidden}
.access-user-card-head{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1.4fr) auto;gap:18px;align-items:center;padding:15px 18px;cursor:pointer;list-style:none}
.access-user-card-head::-webkit-details-marker{display:none}
.access-user-card-head::after{content:'⌄';color:#607982;margin-left:6px}
.access-user-card[open] .access-user-card-head{background:#f5faf9;border-bottom:1px solid #e1ebed}
.access-user-identity{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.access-user-identity small{color:#647c87}
.access-user-roles{display:flex;flex-wrap:wrap;gap:6px}
.access-user-roles span{padding:5px 9px;border-radius:8px;background:#f0f5f5;color:#426771;font-size:.82rem}
.access-user-card-details{padding:16px 18px;display:flex;flex-direction:column;gap:16px}
.access-user-card-details h4{margin:0 0 8px}
.access-user-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.access-user-detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ecf0f1;padding:10px 0}
@media(max-width:700px){.access-user-card-head{grid-template-columns:1fr auto;gap:8px}.access-user-roles{grid-column:1/-1;grid-row:2}.access-user-card-head>.pill{grid-column:2;grid-row:1}.access-users-toolbar input{width:100%}}

.access-invite-disclosure{margin:16px 0;border:1px solid #dce7e7;border-radius:10px;padding:12px 16px;background:#f7fbfa}
.access-invite-disclosure>summary{cursor:pointer;font-weight:600;color:#156d65;padding:4px}
.access-invite-disclosure .settings-access-form{margin-top:14px}


/* Moderne målplanadministrasjon */
.training-plan-page{max-width:100%;overflow:hidden}
.training-plan-page>h2{font-size:1.45rem;margin-bottom:7px;letter-spacing:-.025em}
.training-plan-page>p{color:#607785;line-height:1.55;max-width:850px;margin-bottom:20px}
.training-plan-select{display:block;width:min(100%,580px);min-height:46px;background:#fff;border:1px solid #ccdbdf;border-radius:10px;padding:9px 14px;font:inherit;color:#163748;margin-bottom:18px}
.training-plan-status{display:inline-flex;align-items:center;padding:7px 12px;background:#f5eee0;color:#875c1a;border-radius:999px;font-size:.83rem;font-weight:600;margin:0 0 18px}
.training-plan-status.training-plan-approved{background:#e5f4ed;color:#19734d}
.training-plan-page .training-goal-coverage{display:block;margin:0 0 18px;padding:14px 18px;background:#f1f6f6;border-radius:10px;color:#476876;font-size:.9rem}
.training-plan-page .company-ai-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;background:#f8fbfa;border:1px solid #e1ecec;border-radius:13px;margin:8px 0 20px}
.training-plan-page .company-ai-plan-actions button{padding:11px 17px;border-radius:9px;min-height:43px}
.training-plan-page .company-ai-plan-actions button:first-child{background:#186f67;color:#fff;border-color:#186f67}
.training-plan-page .company-ai-plan-actions button:disabled{opacity:.55}
.training-plan-page .training-plan-ai-status{flex-basis:100%;font-size:.9rem;line-height:1.5;margin:2px 0 0;color:#806032;white-space:normal;overflow-wrap:anywhere}
.training-plan-page .training-plan-toolbar{margin:20px 0 12px}
.training-plan-page .training-plan-toolbar strong{font-size:1rem}
@media(max-width:650px){.training-plan-page .company-ai-plan-actions button{width:100%}.training-plan-select{width:100%}}


/* Lærlingprofil: firmalogo, telefon og visuelle system-snarveier */
.learner-profile-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.learner-company-logo{margin-left:auto;display:flex;align-items:center;justify-content:center;padding:10px;min-width:100px;max-width:175px;min-height:60px;border:1px solid #e4ecee;border-radius:12px;background:#fff}
.learner-company-logo img{display:block;max-width:150px;max-height:65px;width:auto;height:auto;object-fit:contain}
.learner-contact-phone{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:8px;color:#146f65;font-weight:600;text-decoration:none}
.learner-contact-phone::before{content:"☎";font-size:.94em}
.learner-contact-phone:hover{text-decoration:underline}
.learner-profile-modern .learner-systems-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.learner-profile-modern .learner-system-link{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 14px;background:#fff;color:#193c48;border:1px solid #dce7e9;border-radius:13px;box-shadow:0 2px 8px #0a384209;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.learner-profile-modern .learner-system-link:hover{background:#f2faf8;border-color:#95c9bf;transform:translateY(-1px)}
.learner-system-icon{height:40px;width:40px;flex:none;display:grid;place-items:center;background:#eef6f4;border-radius:10px;overflow:hidden;color:#28766d}
.learner-system-icon img{height:27px;width:27px;object-fit:contain}
.learner-system-fallback{font-size:22px}
.learner-system-name{flex:1;min-width:0;font-size:.94rem;line-height:1.35;overflow-wrap:anywhere}
.learner-system-arrow{color:#6c878e;font-size:18px}
@media(max-width:600px){.learner-company-logo{margin-left:0;max-width:135px}.learner-company-logo img{max-width:115px}.learner-profile-modern .learner-systems-links{grid-template-columns:1fr}}

.learner-contact-phone-editor{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.learner-contact-phone-editor input{min-height:38px;max-width:210px;padding:8px 11px;border:1px solid #c9d8dc;border-radius:8px;font:inherit;background:#fff}
.learner-contact-phone-editor button{min-height:38px}
.learner-contact-phone-editor small{flex-basis:100%;color:#54717d}

.access-user-phone-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:12px 0;border-top:1px solid #e8eff0}
.access-user-phone-form label{display:flex;flex-direction:column;gap:6px;min-width:200px;font-weight:600;font-size:.88rem}
.access-user-phone-form input{min-height:39px;padding:8px 11px;border:1px solid #cbd9de;border-radius:8px;font:inherit;font-weight:400}
.access-user-phone-form small{flex-basis:100%;color:#5a7480}

.learner-training-contact-photo{width:60px;height:60px;object-fit:cover;border-radius:50%;float:right;margin:0 0 8px 15px;border:2px solid #fff;box-shadow:0 1px 8px #163d4524}
.access-user-photo-editor{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:12px 0;border-top:1px solid #e9eff0}
.access-user-photo-editor label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.88rem}
.access-user-photo-editor input{max-width:260px}
.access-user-photo-editor small{flex-basis:100%;color:#55717d}

/* Tydelig redigering av brukere og synlig profilbilde */
.access-user-card-head{grid-template-columns:minmax(175px,1.25fr) minmax(170px,1.3fr) auto auto;align-items:center}
.access-user-card-head::after{display:none}
.access-user-manage-label{font-size:.86rem;font-weight:650;color:#146b63;white-space:nowrap;background:#edf6f3;padding:9px 12px;border-radius:9px}
.access-user-card[open] .access-user-manage-label{background:#dcefeb}
.access-user-card[open] .access-user-manage-label::first-letter{color:#146b63}
.access-user-photo-preview{width:54px;height:54px;object-fit:cover;border-radius:50%;border:2px solid #e2ece8}
@media(max-width:750px){.access-user-card-head{grid-template-columns:1fr auto}.access-user-roles{grid-column:1/-1;grid-row:2}.access-user-manage-label{grid-column:1/-1;grid-row:3;text-align:center}.access-user-card-head>.pill{grid-column:2;grid-row:1}}


/* Egne opplæringspunkter: tydelige kort i stedet for tettpakket skjema */
.training-custom-section{margin:30px 0 20px;padding-top:24px;border-top:1px solid #e1ebed}
.training-custom-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.training-custom-heading h3{margin:0 0 6px;font-size:1.14rem}
.training-custom-heading p{margin:0;color:#69808a;line-height:1.5;max-width:670px;font-size:.91rem}
.training-custom-add{border-radius:9px;min-height:42px;white-space:nowrap}
.training-custom-list{display:flex;flex-direction:column;gap:14px}
.training-custom-card{background:#fff;border:1px solid #dce7e9;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:15px;box-shadow:0 2px 9px #15374008}
.training-custom-card:focus-within{border-color:#7eb7aa}
.training-custom-card-header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.training-custom-number{font-size:.89rem;font-weight:700;color:#235f60}
.training-custom-enabled{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:9px;font-size:.87rem;font-weight:600;white-space:nowrap;cursor:pointer}
.training-custom-enabled input{width:17px!important;height:17px!important;min-height:0!important;accent-color:#196c63}
.training-custom-card label:not(.training-custom-enabled){display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:600;color:#365663;min-width:0}
.training-custom-card :is(input[type=text],select,textarea){width:100%;min-height:42px;border:1px solid #cbdadd;border-radius:9px;background:white;padding:9px 12px;font:inherit;font-weight:400;color:#183d49;box-sizing:border-box}
.training-custom-card textarea{min-height:74px;resize:vertical}
.training-custom-card .training-custom-title input{min-height:47px;font-size:.98rem}
.training-custom-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.training-custom-disabled{opacity:.65;background:#f7f9f9}
.training-plan-save-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;padding:20px 0 4px;border-top:1px solid #e2ebed;margin-top:18px}
.training-plan-save-actions button{min-height:44px;padding:11px 17px;border-radius:9px;font-weight:600}
.training-plan-save-actions p{flex-basis:100%;margin:0}
@media(max-width:760px){.training-custom-grid{grid-template-columns:1fr}.training-custom-card{padding:15px}.training-custom-heading{align-items:stretch}.training-custom-add{width:100%}.training-plan-save-actions button{flex:1}}

.access-user-photo-editor{order:-1;display:flex;flex-direction:column;align-items:flex-start;gap:7px;border-top:0;padding:0 0 14px}
.access-user-photo-circle{width:90px;height:90px;border-radius:50%;border:2px dashed #8dbdb3;background:#e7f3ef;display:grid;place-items:center;cursor:pointer;color:#17685e;font-size:1.8rem;font-weight:700;overflow:hidden;padding:0}
.access-user-photo-circle:hover{border-color:#17685e;background:#d9eee7}
.access-user-photo-circle img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.access-user-photo-input{display:none}
.access-user-photo-caption{font-size:.83rem;color:#527680}
.access-user-name-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:8px 0 13px}
.access-user-name-form label{display:flex;flex-direction:column;gap:5px;min-width:240px;font-size:.88rem;font-weight:600}
.access-user-name-form input{min-height:40px;padding:9px 12px;border:1px solid #cbdadc;border-radius:8px;font:inherit;font-weight:400}
.training-published-area{border:1px solid #dce8e9;border-radius:12px;margin:11px 0;overflow:hidden}
.training-published-area>summary{padding:14px 16px;background:#f0f7f5;font-weight:700;cursor:pointer;color:#174b4b}
.training-published-goals{padding:10px 14px}

/* Dashboard som rollebasert arbeidsflate */
.fagspor-dashboard{display:grid;gap:22px}
.dashboard-hero{position:relative;overflow:hidden;padding:29px 32px;border-radius:19px;background:linear-gradient(115deg,#175c64,#277e73 58%,#5ca598);color:white;box-shadow:0 12px 28px #163f4515}
.dashboard-hero small{font-size:.7rem;letter-spacing:.15em;color:#c6e8e3;font-weight:700}
.dashboard-hero h2{color:white;font-size:clamp(1.55rem,3vw,2.2rem);margin:11px 0 8px}
.dashboard-hero p{margin:0;color:#dcf0ee}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.dashboard-shortcut{position:relative;display:flex;text-align:left;align-items:flex-start;gap:14px;background:#fff;color:#193c44;border:1px solid #dbe8e7;border-radius:16px;padding:21px;min-height:164px;cursor:pointer;box-shadow:0 5px 18px #1c45400a;transition:transform .15s,border-color .15s,box-shadow .15s}
.dashboard-shortcut:hover,.dashboard-shortcut:focus-visible{transform:translateY(-2px);border-color:#81bbb0;box-shadow:0 10px 25px #1c45401c}
.dashboard-shortcut-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;color:#176e65;background:#e6f3ef;font-size:1.4rem}
.dashboard-shortcut strong{display:block;margin:5px 0;font-size:1rem}
.dashboard-shortcut p{font-size:.84rem;color:#66808a;line-height:1.45;margin:7px 0}
.dashboard-shortcut-metric{display:block;font-size:1.75rem;font-weight:750;line-height:1}
.dashboard-shortcut-arrow{position:absolute;right:16px;top:17px;color:#338b81;font-weight:700}
.dashboard-recent{background:#fff;border:1px solid #dce8e8;border-radius:16px;padding:22px}
.dashboard-recent h3{margin:0 0 12px}
.dashboard-person-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:15px 7px;text-align:left;background:transparent;border:0;border-bottom:1px solid #e5eeee;color:#193d44;cursor:pointer;font:inherit}
.dashboard-person-row:hover{background:#f3f8f7}
.dashboard-person-row span:last-child{color:#27776e;font-size:.86rem}
/* Profilidentiteten følger med fra Om til alle arbeidsfanene */
.learner-profile-sticky-top,.apprentice-identity-shell{position:sticky;top:0;z-index:8;background:rgba(255,255,255,.98);border-radius:14px 14px 0 0;border-bottom:1px solid #dce9e7;padding:14px 18px 10px;backdrop-filter:blur(10px)}
.learner-profile-sticky-top .learner-profile-header{padding-top:19px;position:relative}
.learner-profile-sticky-top .learner-profile-header:before{content:'';position:absolute;top:0;left:0;right:0;height:12px;border-radius:9px;background:linear-gradient(100deg,#4b85de,#76adaf,#efba75)}
.learner-profile-sticky-top .profile-actions{display:flex;flex-wrap:wrap;gap:7px;border-bottom:0;padding:12px 0 0}
.learner-profile-sticky-top .profile-actions button{border-radius:9px;min-height:40px}
.apprentice-identity-shell{margin-bottom:17px;box-shadow:0 3px 16px #173d430c}
.apprentice-identity-banner{display:flex;align-items:center;gap:15px;padding:14px 0}
.apprentice-identity-banner h2{margin:0 0 5px;font-size:1.3rem}
.apprentice-identity-banner p{margin:0;color:#667f85}
.apprentice-identity-avatar{width:65px;height:65px;flex:none;display:grid;place-items:center;border-radius:50%;background:#d5e9e5;color:#176259;font-weight:750;font-size:1.4rem;overflow:hidden}
.apprentice-identity-avatar img{width:100%;height:100%;object-fit:cover}
.apprentice-identity-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #edf2f2}
.apprentice-identity-tabs button{border:0;background:transparent;color:#4a6971;padding:10px 13px;border-radius:9px;cursor:pointer;font:inherit;font-size:.88rem}
.apprentice-identity-tabs button:hover,.apprentice-identity-tabs button.selected{background:#e0f0ec;color:#155e56}
@media(max-width:980px){.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-shortcuts{grid-template-columns:1fr}.dashboard-hero{padding:24px 21px}.learner-profile-sticky-top,.apprentice-identity-shell{padding:11px 9px}.apprentice-identity-tabs{flex-wrap:nowrap;overflow-x:auto}.apprentice-identity-tabs button{white-space:nowrap}}

/* Skjulte rollebegrensede menypunkter må ikke overstyres av flex-regler. */
nav button[hidden]{display:none!important}

/* Felles, gjenkjennelig profilhode i Om og alle lærlingfaner */
.apprentice-identity-shell{padding:0 20px 8px!important;border:1px solid #deeaeb;border-radius:16px!important;margin-bottom:18px;background:#fff;overflow:hidden;position:sticky;top:0;z-index:10}
.apprentice-identity-cover{height:58px;margin:0 -20px 0;border-radius:15px 15px 0 0;background:linear-gradient(105deg,#4c83dc,#749eaf 52%,#edb46d)}
.apprentice-identity-banner{padding:0 4px 12px;min-height:98px;gap:17px}
.apprentice-identity-avatar{width:79px;height:79px;margin-top:-22px;border:4px solid #fff;box-shadow:0 2px 10px #17343c12;position:relative}
.apprentice-identity-banner h2{font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.025em;margin:0 0 6px}
.apprentice-identity-logo{margin-left:auto;max-width:145px;max-height:70px;display:flex;justify-content:flex-end}
.apprentice-identity-logo img{max-width:100%;max-height:65px;object-fit:contain}
.apprentice-identity-tabs{padding:4px 0 8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
.apprentice-identity-tabs button{font-weight:600;white-space:nowrap}
.apprentice-identity-tabs button.selected{box-shadow:inset 0 -2px #19786d;border-radius:7px 7px 0 0}
.learner-profile-extra-actions{margin:12px 0 18px;border:1px solid #e4eded;border-radius:10px;padding:8px 12px}
.learner-profile-extra-actions>summary{cursor:pointer;color:#246c65;font-weight:650;padding:8px}
.learner-profile-extra-actions .profile-actions{padding:9px 0;display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.apprentice-identity-shell{padding:0 12px 6px!important}.apprentice-identity-cover{margin:0 -12px}.apprentice-identity-avatar{width:64px;height:64px}.apprentice-identity-logo{max-width:80px}.apprentice-identity-banner{gap:9px}}

/* Fagspor Variant D – felles visuell identitet */
:root{--fagspor-navy:#0F2D5B;--fagspor-green:#31B66A;--fagspor-blue:#3B82F6;--fagspor-background:#f5f8fa}
.sidebar{background:linear-gradient(170deg,#0a2144 0%,#0F2D5B 62%,#0a3450 100%)}
.brand{gap:10px;letter-spacing:-.85px;font-size:26px;font-weight:750;line-height:1.2}
.brand .brand-symbol{width:43px;height:43px;min-width:43px;object-fit:contain;border:0;border-radius:0;background:transparent;color:inherit;padding:0;display:block}
.brand-name{color:#fff;white-space:nowrap;letter-spacing:-1px}
.subbrand{color:#a4c4cf;letter-spacing:1.35px;margin:8px 0 45px 53px;font-size:10px;font-weight:650}
.sidebar nav button.active{background:rgba(255,255,255,.13);box-shadow:inset 3px 0 0 var(--fagspor-green)}
.sidebar nav button:hover{background:rgba(255,255,255,.11)}
.auth-panel{margin:28px auto 54px}
.auth-card{border:1px solid #e1e8ef;box-shadow:0 20px 65px #0f2d5b16;border-radius:22px;padding:36px}
.auth-identity{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid #e7eef2}
.auth-identity img{display:block;max-width:100%;height:auto;width:240px}
.auth-identity span{font-size:12px;color:#6a8490;letter-spacing:.25px;margin-left:2px}
.auth-card h2{color:var(--fagspor-navy)}
.btn{background:#0e705e}.btn:not(:disabled):hover{background:#0a574b}
:focus-visible{outline:3px solid #3b82f6;outline-offset:3px}
@media(max-width:850px){.brand{font-size:23px}.brand .brand-symbol{width:37px;height:37px;min-width:37px}.subbrand{display:none}.auth-card{padding:26px}.auth-identity img{width:205px}}

/* Alle lærlingfaner har identisk bredde og samme responsive layout. */
#content:has(> .apprentice-identity-shell){display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0}
#content:has(> .apprentice-identity-shell)>*{width:100%;min-width:0;max-width:none;margin-left:0;margin-right:0}
#content:has(> .apprentice-identity-shell)>.learner-profile-modern{max-width:none;width:100%;border-radius:15px;padding:clamp(15px,2vw,24px)}
#content:has(> .apprentice-identity-shell)>.apprentice-identity-shell{margin-bottom:15px}
#content:has(> .apprentice-identity-shell) .learning-picker-panel[hidden]{display:none!important}
#content:has(> .apprentice-identity-shell) .apprentice-identity-tabs{max-width:100%}
@media(max-width:720px){
 #content:has(> .apprentice-identity-shell)>.learner-profile-modern{padding:14px 11px}
 #content:has(> .apprentice-identity-shell)>.panel{padding:15px 12px;max-width:100%}
 #content:has(> .apprentice-identity-shell) .apprentice-identity-shell{top:0}
 #content:has(> .apprentice-identity-shell) .apprentice-identity-banner h2{font-size:1.15rem}
 #content:has(> .apprentice-identity-shell) .apprentice-identity-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
}


/* Felles moderne brukeroversikter for bedrift og systemadministrator */
.access-directory-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:17px 0 10px}
.access-directory-filters label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.83rem;font-weight:650;color:#4c6770}
.access-directory-filters select{width:100%;min-width:0;min-height:43px;padding:10px 12px;border:1px solid #d0dfe2;border-radius:10px;background:#fff;color:#1d4550;font:inherit;font-weight:450}
.access-directory-count{margin:6px 0 13px;color:#658087;font-size:.85rem}
.access-directory-list,.access-user-cards{display:flex;flex-direction:column;gap:9px}
.access-directory-user{background:#fff;border:1px solid #dbe7e9;border-radius:13px;overflow:hidden}
.access-directory-user-head{display:grid;grid-template-columns:46px minmax(170px,1.2fr) minmax(170px,1.5fr) auto auto;gap:13px;align-items:center;padding:14px 17px;cursor:pointer;list-style:none}
.access-directory-user-head::-webkit-details-marker{display:none}
.access-directory-user-head:hover{background:#f4faf8}
.access-directory-avatar{width:44px;height:44px;border-radius:50%;background:#dfefeb;color:#195f59;display:grid;place-items:center;font-size:.83rem;font-weight:750;overflow:hidden;flex:none}
.access-directory-avatar img{width:100%;height:100%;object-fit:cover}
.access-directory-identity{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.access-directory-identity strong{font-size:.91rem;color:#193946}
.access-directory-identity small{font-size:.78rem;color:#64808a}
.access-directory-associations,.access-user-roles{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.access-directory-associations span{border-radius:7px;background:#edf4f4;color:#496977;padding:5px 7px;font-size:.77rem}
.access-directory-state{background:#e6f5eb;padding:6px 9px;border-radius:30px;font-size:.75rem;color:#287451;white-space:nowrap}
.access-directory-open{font-size:.79rem;color:#1b6a63;white-space:nowrap}
.access-directory-details{padding:18px 22px;border-top:1px solid #e0e9ea}
.system-user-directory{margin-top:28px;padding-top:22px;border-top:1px solid #e3eded}
.system-user-search{max-width:450px;display:flex;flex-direction:column;gap:8px;margin:16px 0}
.system-user-search input{min-height:42px;padding:10px 12px;border:1px solid #d0dfe2;border-radius:10px}
.access-user-card-head{display:grid;grid-template-columns:44px minmax(150px,1.1fr) minmax(150px,1.2fr) auto auto;gap:13px;align-items:center}
@media(max-width:980px){.access-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.access-directory-user-head{grid-template-columns:44px minmax(130px,1fr) auto}.access-directory-associations{grid-column:2/4}.access-directory-open{display:none}.access-user-card-head{grid-template-columns:44px 1fr auto}.access-user-roles{grid-column:2/4;grid-row:2}}
@media(max-width:590px){.access-directory-filters{grid-template-columns:1fr 1fr;gap:9px}.access-directory-user-head{padding:12px;gap:9px}.access-directory-state{font-size:.7rem}.access-directory-associations span{font-size:.71rem}.access-user-card-head{grid-template-columns:42px 1fr auto}.access-user-manage-label{grid-column:2/4;text-align:center}.access-user-roles{grid-column:2/4}}
