:root{--np-red:#c8102e;--np-text:#171717;--np-muted:#666;--np-bg:#f4f5f7;--np-border:#e2e4e8;--np-green:#16794b;--np-amber:#9a6200;--np-white:#fff;--np-shadow:0 8px 30px rgba(0,0,0,.06)}*{box-sizing:border-box}body.np-portal-body{margin:0;background:var(--np-bg);color:var(--np-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.45}a{color:inherit}.np-portal-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;min-height:68px;padding:0 max(20px,calc((100vw - 1120px)/2));background:#111;color:#fff}.np-logo,.np-brand{text-decoration:none;font-weight:900;letter-spacing:.05em}.np-logo span,.np-brand span{font-weight:600;letter-spacing:0;color:#bbb}.np-portal-nav nav{display:flex;gap:8px}.np-portal-nav nav a,.np-user-menu a{padding:10px 12px;border-radius:8px;text-decoration:none;color:#ddd}.np-portal-nav nav a.is-active{background:#2a2a2a;color:#fff}.np-user-menu{margin-left:auto;display:flex;gap:4px}.np-portal-main{max-width:1120px;margin:0 auto;padding:34px 20px 70px}.np-hero,.np-page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.np-hero h1,.np-page-head h1{font-size:34px;line-height:1.1;margin:5px 0 6px}.np-hero p,.np-page-head p,.np-muted{color:var(--np-muted)}.np-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--np-red)}.np-card,.np-week,.np-submit-card{background:#fff;border:1px solid var(--np-border);border-radius:14px;box-shadow:var(--np-shadow);margin-bottom:18px}.np-card{padding:22px}.np-card-head,.np-week-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.np-card h2,.np-week h2,.np-submit-card h2{margin:0}.np-status{display:inline-flex;margin-top:6px;padding:4px 9px;border-radius:999px;background:#f0f1f3;font-size:12px;font-weight:700}.np-stats,.np-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.np-stats>div,.np-summary>div{background:#f7f7f8;border-radius:11px;padding:16px}.np-stats strong,.np-summary strong{display:block;font-size:25px}.np-stats span,.np-summary span{font-size:12px;color:var(--np-muted)}.np-summary{margin:0 0 16px}.np-summary>div{background:#fff;border:1px solid var(--np-border)}.np-followup,.np-statusbar{margin-top:16px;padding:14px 16px;border-radius:10px;background:#fff7df;display:flex;gap:10px;justify-content:space-between}.np-followup.is-ready{background:#eaf7f0}.np-followup.is-neutral{background:#f3f5f7;color:#40464d}.np-statusbar{background:#fff;border:1px solid var(--np-border);align-items:center}.np-week{overflow:hidden}.np-week-head{padding:16px 18px;border-bottom:1px solid var(--np-border)}.np-week-head h2{font-size:18px}.np-days{display:grid}.np-day{padding:15px 18px;border-bottom:1px solid #eee}.np-day:last-child{border-bottom:0}.np-day.has-deviation{border-left:4px solid var(--np-amber)}.np-day-top{display:flex;justify-content:space-between;gap:15px}.np-day-top strong,.np-day-top span{display:block}.np-day-top>div:first-child span{color:var(--np-muted);font-size:13px;margin-top:2px}.np-day-result{text-align:right}.np-day-result span{font-size:13px;color:var(--np-muted)}.np-day-actions{display:flex;align-items:flex-start;gap:9px;margin-top:12px;flex-wrap:wrap}.np-day-actions form{margin:0}.np-day-actions details{flex:1;min-width:240px}.np-day-actions summary{cursor:pointer;font-weight:700;padding:8px 0}.np-deviation-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f7f7f8;padding:14px;border-radius:10px}.np-deviation-form label,.np-account-form label,.np-auth-card label{font-size:13px;font-weight:700}.np-deviation-form input,.np-account-form input,.np-auth-card input{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #cfd3d8;border-radius:8px;background:#fff;font:inherit}.np-deviation-form .np-full{grid-column:1/-1}.np-btn,.np-link-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd3d8;background:#fff;color:#222;border-radius:9px;padding:10px 14px;font-weight:750;text-decoration:none;cursor:pointer;font:inherit}.np-btn-primary{background:var(--np-red);border-color:var(--np-red);color:#fff}.np-btn-wide{width:100%}.np-link-btn{border:0;padding:6px 0}.np-submit-card{padding:22px}.np-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700}.np-badge-warn{background:#fff3cd;color:#765200}.np-alert{padding:13px 15px;border-radius:10px;margin:12px 0 18px}.np-alert-error{background:#fdebec;color:#8e1e2c}.np-alert-ok{background:#e9f6ee;color:#17653e}.np-alert-warn{background:#fff4d8;color:#725000}.np-alert-info{background:#edf3fb;color:#23486d}.np-month-nav{display:flex;gap:6px}.np-month-nav a{display:grid;place-items:center;width:38px;height:38px;background:#fff;border:1px solid var(--np-border);border-radius:9px;text-decoration:none;font-size:24px}.np-portal-auth{min-height:100vh;display:grid;place-items:center;padding:24px}.np-auth-card{width:min(100%,430px);background:#fff;border:1px solid var(--np-border);border-radius:16px;padding:30px;box-shadow:var(--np-shadow)}.np-auth-card h1{margin:18px 0 6px}.np-auth-card form{display:grid;gap:16px;margin-top:22px}.np-auth-help{text-align:center;margin-top:18px}.np-brand{font-size:19px}.np-brand span{color:#777}.np-account-card{max-width:620px}.np-account-form{display:grid;gap:14px}.np-user-menu a:first-child{font-weight:700}.np-user-menu a:last-child{color:#bbb}@media(max-width:720px){.np-portal-nav{padding:9px 14px;min-height:60px;gap:8px;flex-wrap:wrap}.np-logo{flex:1}.np-portal-nav nav{order:3;width:100%;border-top:1px solid #333;padding-top:7px}.np-portal-nav nav a{flex:1;text-align:center}.np-user-menu a:first-child{display:none}.np-portal-main{padding:24px 14px 60px}.np-hero,.np-page-head{align-items:flex-start}.np-hero h1,.np-page-head h1{font-size:28px}.np-card-head{align-items:flex-start;flex-direction:column}.np-stats,.np-summary{grid-template-columns:repeat(3,1fr);gap:7px}.np-stats>div,.np-summary>div{padding:12px 9px}.np-stats strong,.np-summary strong{font-size:20px}.np-week-head{align-items:flex-start}.np-day-top{flex-direction:column}.np-day-result{text-align:left}.np-day-actions{display:block}.np-day-actions form .np-btn{width:100%}.np-deviation-form{grid-template-columns:1fr}.np-deviation-form .np-full{grid-column:auto}.np-submit-card .np-btn{width:100%}.np-statusbar,.np-followup{flex-direction:column}.np-auth-card{padding:24px}}

.np-logout-btn{border:0;background:transparent;color:#bbb;padding:10px 12px;border-radius:8px;font:inherit;cursor:pointer}.np-logout-btn:hover{color:#fff}


/* v1.8.2 – portal UI refinement */
body.np-portal-body{background:#f2f3f5}.np-portal-nav{min-height:64px;box-shadow:0 1px 0 rgba(255,255,255,.06),0 6px 20px rgba(0,0,0,.08)}.np-logo{font-size:18px}.np-portal-main{max-width:1040px;padding-top:30px}.np-hero{align-items:flex-start;padding:4px 2px 0}.np-hero h1,.np-page-head h1{letter-spacing:-.02em}.np-hero p{font-size:16px;margin-top:8px}
.np-card,.np-week,.np-submit-card,.np-timesheet-overview{border-radius:16px;border-color:#dde0e5;box-shadow:0 3px 18px rgba(0,0,0,.045)}.np-dashboard-card{padding:24px}.np-card-kicker{display:block;margin-bottom:4px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--np-muted)}.np-card-head h2{font-size:24px;letter-spacing:-.015em}.np-status{margin-top:8px}.np-status-draft{background:#eef0f2}.np-status-submitted,.np-status-ready{background:#fff0bd;color:#735600}.np-status-returned{background:#fce8e8;color:#8e1e2c}.np-status-approved,.np-status-locked{background:#e8f5ed;color:#17653e}
.np-progress-wrap{margin-top:20px;padding:15px 16px;background:#f7f8f9;border-radius:12px}.np-progress-wrap.compact{margin:0;background:#fff;border:1px solid var(--np-border)}.np-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:var(--np-muted)}.np-progress-head strong{color:var(--np-text)}.np-progress{height:7px;overflow:hidden;background:#e2e5e8;border-radius:999px}.np-progress span{display:block;height:100%;background:var(--np-red);border-radius:999px;transition:width .2s ease}
.np-stats>div,.np-summary>div{border:1px solid transparent}.np-stats>div.needs-action,.np-summary>div.needs-action{background:#fff8e7;border-color:#f0d88b}.np-stats>div.is-complete,.np-summary>div.is-complete{background:#edf8f1;border-color:#b5ddc4}.np-timesheet-overview{background:#fff;padding:16px;margin-bottom:16px}.np-summary{grid-template-columns:repeat(3,1fr);margin-bottom:12px}.np-summary>div{display:flex;flex-direction:column;padding:14px 15px}.np-summary>div span{order:-1;margin-bottom:5px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.06em}.np-summary>div strong{font-size:23px}
.np-statusbar{margin:0 0 18px;border-radius:12px;padding:12px 14px}.np-week{margin-bottom:14px}.np-week-head{padding:14px 16px;background:#fafbfc}.np-week-head h2{font-size:16px}.np-link-btn{color:#555;text-decoration:none;font-size:13px}.np-link-btn:hover{color:var(--np-red)}
.np-day{padding:14px 16px;transition:background .15s}.np-day.is-confirmed{background:#fcfffd}.np-day.has-deviation{background:#fffaf0}.np-day-title>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.np-day-title>span{display:block;color:var(--np-muted);font-size:13px;margin-top:3px}.np-day-state{display:inline-flex!important;margin:0!important;padding:3px 7px;border-radius:999px;background:#f0f1f3;color:#666!important;font-size:10px!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.np-day-state.is-ok{background:#e9f6ee;color:#17653e!important}.np-day-state.is-deviation{background:#fff0bd;color:#735600!important}.np-day-result strong{font-size:15px}.np-day-result span{font-size:12px}.np-day-actions{padding-top:2px}.np-day-actions details{border-left:1px solid #e5e7e9;padding-left:10px}.np-day-actions summary{text-decoration:none;color:#555}.np-deviation-form{margin-top:7px;border:1px solid #e1e4e8;background:#fafbfc}.np-submit-card{border:1px solid #e7c465;background:linear-gradient(135deg,#fffdf6,#fff);padding:24px}.np-submit-card h2{font-size:21px}
.np-btn{min-height:42px;border-color:#cdd1d5;box-shadow:0 1px 1px rgba(0,0,0,.02)}.np-btn-primary{box-shadow:0 2px 8px rgba(200,16,46,.17)}.np-btn-primary:hover{filter:brightness(.96)}.np-month-nav a{font-size:22px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.np-auth-card{border-radius:18px;box-shadow:0 12px 45px rgba(0,0,0,.08)}
@media(max-width:720px){.np-portal-main{padding-top:20px}.np-hero{margin-bottom:18px}.np-hero h1,.np-page-head h1{font-size:27px}.np-dashboard-card{padding:18px}.np-card-head .np-btn{width:100%;margin-top:4px}.np-progress-wrap{padding:13px}.np-stats,.np-summary{grid-template-columns:repeat(3,1fr)}.np-timesheet-overview{padding:12px}.np-week{border-radius:13px}.np-day{padding:14px}.np-day-top{gap:10px}.np-day-actions details{border-left:0;padding-left:0;margin-top:6px}.np-day-actions details summary{padding:9px 0}.np-page-head{margin-bottom:16px}}
@media(max-width:430px){.np-stats,.np-summary{grid-template-columns:1fr 1fr}.np-stats>div:last-child,.np-summary>div:last-child{grid-column:1/-1}.np-stats strong,.np-summary strong{font-size:22px}.np-portal-nav nav a{padding:9px 7px}.np-user-menu{gap:0}.np-submit-card{padding:18px}}


/* v1.8.3 – roligere timeliste og kalenderfarger */
.np-day.np-cal-red-day,.np-day.np-cal-sunday{background:#fff6f6;border-left:4px solid #c7192d}.np-day.np-cal-saturday{background:#f4f6f8;border-left:4px solid #7b8794}.np-day.has-absence{background:#f7f8fb}.np-day.has-absence.np-cal-red-day,.np-day.has-absence.np-cal-sunday{background:#fff2f3}.np-calendar-tag{display:inline-flex!important;margin:0!important;padding:3px 7px;border-radius:999px;font-size:10px!important;font-weight:800;letter-spacing:.02em}.np-calendar-tag.is-red{background:#fde7e9;color:#a10f22!important}.np-calendar-tag.is-saturday{background:#e6ebef;color:#4f5d69!important}.np-day-state.is-absence{background:#eceaf6;color:#584a79!important}.np-day-actions-compact{display:flex;align-items:center;gap:8px;margin-top:8px}.np-quick-register{display:flex;align-items:center;gap:6px;margin:0}.np-quick-register select{height:36px;min-width:190px;max-width:250px;border:1px solid #cfd3d8;border-radius:8px;background:#fff;padding:0 30px 0 10px;font:inherit;font-size:13px}.np-btn-compact{min-height:36px;padding:7px 11px;font-size:13px}.np-edit-time{margin:0}.np-edit-time>summary{cursor:pointer;color:#555;font-size:12px;font-weight:700;padding:7px 3px}.np-deviation-form select{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #cfd3d8;border-radius:8px;background:#fff;font:inherit}.np-day-actions-compact details{flex:0 1 auto;min-width:0;border-left:0;padding-left:0}.np-day-actions-compact .np-deviation-form{min-width:560px;margin-top:7px}
@media(max-width:720px){.np-day-actions-compact{display:block}.np-quick-register{width:100%}.np-quick-register select{flex:1;min-width:0;max-width:none}.np-edit-time{margin-top:4px}.np-day-actions-compact .np-deviation-form{min-width:0;width:100%}.np-calendar-tag{font-size:9px!important}}

/* v1.8.4 – tydelig dagsstatus og delvis fravær */
.np-status-select{border-width:1px!important;border-style:solid!important;border-radius:8px!important;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s}
.np-status-select.is-planned{background:#eef8f1!important;border-color:#79b88a!important;color:#1f6b35!important;box-shadow:0 0 0 1px rgba(55,132,76,.07)}
.np-status-select.is-unconfirmed{background:#fff!important;border-color:#cfd3d8!important;color:#555!important}
.np-status-select.is-absence{background:#f2f3fb!important;border-color:#929bc6!important;color:#46507c!important}
.np-status-select.is-deviation{background:#fff8e8!important;border-color:#d7ab49!important;color:#745711!important}
.np-partial-absence-form{background:#f7f8fd!important;border-color:#c9cee4!important}
.np-partial-help{display:block;flex-basis:100%;font-size:12px;color:#6d7280;line-height:1.4}
.np-partial-absence-details>summary{color:#4d5680!important}


/* v1.8.5 – diskret markering av ukebekreftelse */
.np-week-confirm-btn{border:1px solid #8ab99a;background:#f3faf5;color:#21633a;border-radius:8px;padding:7px 10px;font-weight:650;line-height:1.2;box-shadow:0 0 0 1px rgba(47,126,72,.04)}
.np-week-confirm-btn:hover,.np-week-confirm-btn:focus{border-color:#5e9f73;background:#eaf6ee;color:#174d2c;box-shadow:0 0 0 1px rgba(47,126,72,.08)}


/* NØSEN Personal v1.9.0 – Fravær */
.np-absence-form select,.np-absence-form input[type=date],.np-absence-form input[type=time]{min-height:38px;max-width:100%}
.np-inline-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.np-absence-list{display:grid;gap:10px}
.np-absence-item{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(127,127,127,.15)}
.np-absence-item:last-child{border-bottom:0}.np-absence-item>div{display:flex;flex-direction:column;gap:3px}.np-absence-item small{grid-column:1/-1}
.np-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.np-form-grid label{display:flex;flex-direction:column;gap:6px}.np-form-grid .np-check{flex-direction:row;align-items:center;align-self:end;padding-bottom:8px}
.np-absence-create{margin-bottom:18px}
@media(max-width:700px){.np-form-grid{grid-template-columns:1fr}.np-absence-item{grid-template-columns:1fr}.np-absence-item .np-status{justify-self:start}}

/* NØSEN Personal v1.9.2 – fravær er master i timelisten */
.np-day.is-managed-absence{background:#f8f7fc;border-left-color:#786aa7}.np-managed-absence-list{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.np-managed-absence-list>span{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.np-managed-absence-list small{color:var(--np-muted);font-size:11px}.np-managed-absence-action{display:flex;align-items:center;gap:9px;margin-top:8px;padding:8px 10px;border:1px solid #d9d6e8;background:#faf9fd;border-radius:8px;color:#5b5570;font-size:12px}.np-managed-absence-action a{font-weight:700;color:#4e4775;text-decoration:none}.np-managed-absence-action a:hover{text-decoration:underline}.np-absence-item-actions{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:9px}.np-delete-absence-form{margin:0}.np-link-danger{border:0;background:transparent;padding:3px 2px;color:#a61b2b;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.np-link-danger:hover{text-decoration:underline;color:#7d101d}@media(max-width:700px){.np-managed-absence-list,.np-managed-absence-list>span{align-items:flex-start}.np-managed-absence-action{align-items:flex-start;flex-direction:column}.np-absence-item-actions{justify-content:flex-start}}

/* v1.9.3 – Timeliste eier arbeidstid, Fravær eier fravær */
.np-register-absence > summary{border-color:#c7d7ea;background:#f7fbff;color:#274c77}
.np-register-absence[open] > summary{background:#eef6ff}
.np-absence-from-day-form{border-left:3px solid #8fb5dc;padding-left:12px}
.np-partial-check{display:flex!important;align-items:center;gap:7px}
.np-partial-check input{width:auto!important;min-width:0!important;margin:0!important}
.np-reset-day{margin-left:auto}
.np-confirm-day{border-color:#9fc9ad!important;background:#f3faf5!important;color:#285f3b!important}
.np-confirm-day:hover{background:#e9f5ed!important;border-color:#7fb18f!important}


/* v1.9.4 – Timeliste + Fravær UI polish */
.np-day.is-managed-absence{background:#f8f7fc;border-left:4px solid #7466a3;padding-left:14px}
.np-day.is-managed-absence .np-day-top{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.np-day.is-managed-absence .np-day-result{text-align:left;display:grid;gap:9px}
.np-managed-absence-list{display:grid;gap:8px;align-items:stretch}
.np-managed-absence-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #dcd8eb;background:#fff;border-radius:10px;box-shadow:0 1px 2px rgba(40,30,80,.03)}
.np-managed-absence-card>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.np-managed-absence-card>div>strong{font-size:15px}.np-managed-absence-card>div>span{font-size:12px;color:var(--np-muted)}
.np-absence-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px!important;font-weight:800;white-space:nowrap}.np-absence-status.is-pending{background:#fff1c7;color:#795c00}.np-absence-status.is-approved{background:#e7f5ec;color:#17653e}.np-absence-status.is-returned{background:#fde8e8;color:#8e1e2c}
.np-absence-totals{display:flex;gap:8px;flex-wrap:wrap}.np-absence-totals>span{display:inline-flex!important;gap:5px;padding:5px 8px;border-radius:7px;background:#efedf7;color:#514a69!important;font-size:12px!important}.np-absence-totals strong{font-size:12px}
.np-managed-absence-action{justify-content:space-between;padding:10px 12px;margin-top:10px}.np-managed-absence-action .np-btn{margin-left:auto}.np-btn-secondary{background:#fff;border-color:#cfc8e2;color:#514a69}.np-btn-small{min-height:34px;padding:6px 10px;font-size:12px}
.np-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.np-section-head h2{font-size:23px;margin:2px 0 4px}.np-section-head p{margin:0;color:var(--np-muted)}
.np-absence-create{padding:24px}.np-absence-form-modern{display:grid;gap:0}.np-form-section{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:18px 0;border-top:1px solid #eceef1}.np-form-section:first-of-type{border-top:0;padding-top:0}.np-form-section-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f0f1f3;color:#555;font-size:12px;font-weight:850}.np-form-section-body h3{margin:2px 0 12px;font-size:16px}.np-form-section-body>label,.np-form-grid label,.np-note-field{display:block;font-size:13px;font-weight:750}.np-form-section-body select,.np-form-section-body input[type=date],.np-form-section-body input[type=time],.np-note-field textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd3d8;border-radius:9px;background:#fff;font:inherit}.np-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.np-form-grid label small{display:block;margin-top:5px;color:var(--np-muted);font-weight:500}.np-scope-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;padding:0;margin:0}.np-scope-choice>label{display:flex!important;align-items:flex-start;gap:9px;margin:0!important;padding:11px 12px;border:1px solid #d9dde2;border-radius:10px;background:#fff;cursor:pointer;font-weight:600!important}.np-scope-choice>label:has(input:checked){border-color:#8d83b5;background:#f8f7fc;box-shadow:0 0 0 1px rgba(116,102,163,.08)}.np-scope-choice input{margin-top:3px}.np-scope-choice label span{display:flex;flex-direction:column;gap:2px}.np-scope-choice label small{color:var(--np-muted);font-weight:500}.np-partial-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding:12px;background:#f7f8fa;border:1px solid #e2e5e9;border-radius:10px}.np-partial-fields[hidden]{display:none!important}.np-privacy-note{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:11px 12px;border-radius:9px;background:#f4f6f8;color:#4e5964;font-size:12px}.np-privacy-note strong{white-space:nowrap}.np-form-submit{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid #eceef1}.np-form-submit span{font-size:12px;color:var(--np-muted)}
.np-absence-history{padding:24px}.np-absence-list{display:grid;gap:10px}.np-absence-item{border:1px solid #e3e5e8!important;border-radius:11px;padding:13px 14px!important;background:#fff}.np-absence-item:target{outline:3px solid rgba(116,102,163,.18);border-color:#8d83b5!important}.np-absence-item>div:first-child strong{font-size:15px}.np-absence-item>div:first-child span{color:var(--np-muted);font-size:13px}.np-absence-item-actions{display:flex!important;align-items:center;gap:10px;flex-direction:row!important}.np-link-danger{border:0;background:none;color:#a10f22;text-decoration:underline;cursor:pointer;font:inherit;font-size:12px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.np-managed-absence-card{align-items:flex-start;flex-direction:column}.np-managed-absence-action{align-items:stretch}.np-managed-absence-action .np-btn{margin-left:0;width:100%}.np-form-section{grid-template-columns:28px 1fr;gap:10px}.np-form-grid,.np-scope-choice,.np-partial-fields{grid-template-columns:1fr}.np-form-submit{align-items:stretch;flex-direction:column}.np-form-submit .np-btn{width:100%}.np-absence-item-actions{justify-content:space-between}}

/* v2.0.0 Ferie */
.np-vacation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.np-vacation-summary .np-card{padding:18px;display:flex;flex-direction:column;gap:4px}.np-vacation-summary strong{font-size:28px}.np-vacation-create{margin-bottom:18px}.np-vacation-form-modern{display:grid;gap:16px}.np-vacation-form-modern label{display:grid;gap:7px;font-weight:600}.np-vacation-item{border-left:4px solid #c8a84b}.np-day.is-managed-vacation{background:#fffdf5;border-left:4px solid #c8a84b}@media(max-width:700px){.np-vacation-summary{grid-template-columns:1fr}.np-vacation-form-modern .np-form-grid{grid-template-columns:1fr}}

/* v2.0.1 – ferie følger fraværsspråket visuelt */
.np-vacation-create{padding:24px;margin-bottom:18px}
.np-vacation-form-modern{display:grid;gap:0}
.np-vacation-history{padding:24px}
.np-vacation-item{border-left:4px solid #c8a84b!important}
.np-vacation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.np-vacation-summary .np-card{padding:18px;display:flex;flex-direction:column;gap:4px}
.np-vacation-summary .np-card>span{font-size:12px;font-weight:750;color:var(--np-muted);text-transform:uppercase;letter-spacing:.04em}
.np-vacation-summary .np-card>strong{font-size:28px;line-height:1.05}
.np-vacation-summary .np-card>small{color:var(--np-muted)}
@media(max-width:700px){.np-vacation-summary{grid-template-columns:1fr}.np-vacation-create,.np-vacation-history{padding:18px}}

/* v2.1.2 workflow & summary cleanup */
.np-summary-five{grid-template-columns:repeat(5,minmax(0,1fr));}
.np-collapsible-create{padding:0;overflow:hidden;}
.np-collapsible-create>summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;background:#fff;}
.np-collapsible-create>summary::-webkit-details-marker{display:none;}
.np-collapsible-create>summary span{display:flex;align-items:baseline;gap:10px;}
.np-collapsible-create>summary strong{font-size:18px;}
.np-collapsible-create>summary small{color:#6b7280;font-size:13px;}
.np-collapsible-create[open]>summary{border-bottom:1px solid #e5e7eb;background:#fafafa;}
.np-collapsible-body{padding:22px;}
.np-create-timesheet-card{max-width:760px;margin:20px auto;}
@media(max-width:760px){.np-summary-five{grid-template-columns:repeat(2,minmax(0,1fr));}.np-summary-five>div:first-child{grid-column:span 2;}}

/* v2.1.3 summary QA */
.np-time-summary small,.np-summary small{display:block;margin-top:5px;color:#646970;font-size:11px;font-weight:600}.np-time-summary>div.has-pending,.np-summary>div.has-pending{background:#fffaf0;border-color:#e7c465}.np-summary>div.has-pending small{color:#725000}

/* v2.2.0 Reise & utlegg */
.np-travel-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.np-travel-summary .np-card{display:flex;flex-direction:column;gap:4px}.np-travel-summary .np-card>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700}.np-travel-summary .np-card>strong{font-size:1.5rem}.np-travel-summary .np-card>small{color:#6b7280}.np-travel-create-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:18px}.np-travel-create{padding:0;overflow:hidden}.np-travel-create summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.np-travel-create summary::-webkit-details-marker{display:none}.np-travel-create summary strong{font-size:1.05rem}.np-travel-create summary span{color:#6b7280;font-size:.9rem}.np-travel-create[open] summary{border-bottom:1px solid #e5e7eb}.np-travel-form{padding:18px 20px 20px}.np-travel-form label{display:block;font-weight:650;margin:0 0 14px}.np-travel-form input,.np-travel-form select{width:100%;margin-top:6px}.np-travel-form small{display:block;color:#6b7280;margin-top:5px}.np-travel-form .np-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.np-travel-item>div:first-child{display:flex;flex-direction:column;gap:3px}.np-travel-item .np-absence-item-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.np-travel-history .np-link-btn{font-size:.88rem}
@media(max-width:800px){.np-travel-summary,.np-travel-create-grid{grid-template-columns:1fr}.np-travel-form .np-form-grid{grid-template-columns:1fr}.np-travel-create summary{align-items:flex-start;flex-direction:column;gap:4px}}
.np-portal-nav nav{overflow-x:auto;scrollbar-width:thin}.np-portal-nav nav a{white-space:nowrap}


/* v2.2.2 – Reise & utlegg UI refresh */
.np-travel-summary{gap:12px;margin-bottom:20px}
.np-travel-summary .np-card{margin:0;padding:18px 20px;border-radius:16px;box-shadow:0 2px 12px rgba(15,23,42,.035)}
.np-travel-summary .np-card>span{font-size:11px;letter-spacing:.075em;font-weight:800;color:#727985}
.np-travel-summary .np-card>strong{font-size:26px;line-height:1.08;letter-spacing:-.025em;margin-top:2px}
.np-travel-summary .np-card>small{font-size:12px;color:#77808c}

.np-travel-create-grid{gap:14px;align-items:start;margin-bottom:20px}
.np-travel-create{margin:0;border-radius:17px;border-color:#dde1e6;box-shadow:0 3px 18px rgba(15,23,42,.04);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.np-travel-create:hover{border-color:#cfd4db;box-shadow:0 5px 22px rgba(15,23,42,.055)}
.np-travel-create>summary{position:relative;min-height:72px;padding:17px 50px 17px 20px;background:#fff;transition:background .15s ease;user-select:none}
.np-travel-create>summary:hover{background:#fafbfc}
.np-travel-create>summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid #d9dde3;border-radius:9px;display:grid;place-items:center;font-size:20px;font-weight:500;line-height:1;color:#535b66;background:#fff;transition:transform .15s ease,background .15s ease}
.np-travel-create[open]>summary::after{content:'–';background:#f4f5f7}
.np-travel-create>summary strong{font-size:16px;font-weight:780;letter-spacing:-.012em;color:#1d232b}
.np-travel-create>summary span{font-size:12px;color:#7a828d;margin-left:auto;margin-right:4px}
.np-travel-create[open]>summary{border-bottom:1px solid #eceef1;background:#fbfbfc}

.np-travel-form{padding:22px 20px 22px;display:grid;gap:16px}
.np-travel-form label{display:grid;gap:7px;margin:0;font-size:12px;font-weight:760;color:#303741;letter-spacing:.005em}
.np-travel-form .np-muted{font-weight:500;color:#858c96}
.np-travel-form input,.np-travel-form select,.np-travel-form textarea{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #d5d9df;border-radius:10px;background:#fff;color:#1f2933;font-family:inherit;font-size:14px;font-weight:450;line-height:1.35;box-shadow:0 1px 1px rgba(0,0,0,.015);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.np-travel-form input::placeholder{color:#9aa1aa;opacity:1}
.np-travel-form input:focus,.np-travel-form select:focus,.np-travel-form textarea:focus{outline:none;border-color:#8d97a5;box-shadow:0 0 0 3px rgba(89,103,119,.11)}
.np-travel-form select{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.np-travel-form input[type="date"]{font-variant-numeric:tabular-nums}
.np-travel-form input[type="number"]{font-variant-numeric:tabular-nums}
.np-travel-form input[type="file"]{padding:7px 8px;min-height:46px;background:#fafbfc;color:#68717d}
.np-travel-form input[type="file"]::file-selector-button{border:1px solid #d4d9df;background:#fff;border-radius:8px;padding:8px 11px;margin-right:10px;font:inherit;font-size:12px;font-weight:720;color:#313842;cursor:pointer}
.np-travel-form input[type="file"]::file-selector-button:hover{background:#f4f5f7}
.np-travel-form small{margin:0;color:#7b838e;font-size:11px;font-weight:500;line-height:1.4}
.np-travel-form .np-form-grid{gap:12px}
.np-travel-form>.np-info-box{margin:0;padding:12px 13px;border:1px solid #dfe4ea;border-left:3px solid #8994a2;border-radius:10px;background:#f8fafb;color:#56606c;font-size:12px;line-height:1.45}
.np-travel-form>.np-btn{justify-self:start;min-height:42px;padding:10px 17px;border-radius:10px;box-shadow:0 2px 5px rgba(200,16,46,.16);font-size:13px;font-weight:780}
.np-travel-form>.np-btn:hover{filter:brightness(.96);transform:translateY(-1px)}

.np-travel-history{padding:22px 24px;margin-top:0}
.np-travel-history .np-section-head{margin-bottom:14px}
.np-travel-history .np-section-head h2{font-size:21px;letter-spacing:-.018em}
.np-travel-item{padding:14px 15px!important;border-radius:12px!important;box-shadow:none}
.np-travel-item>div:first-child{gap:2px}
.np-travel-item>div:first-child strong{font-size:14px}
.np-travel-item>div:first-child span{font-size:12px;color:#68717d}
.np-travel-item>div:first-child small{font-size:12px;color:#858c96}

@media(max-width:800px){
  .np-travel-create>summary{min-height:66px;padding:15px 48px 15px 16px;align-items:flex-start;flex-direction:column;gap:2px}
  .np-travel-create>summary span{margin:0}
  .np-travel-create>summary::after{right:15px}
  .np-travel-form{padding:18px 16px 19px}
  .np-travel-history{padding:18px}
}

/* v2.2.3 – Ferie datofelt: unngå grid-stretch når bare Til dato har hjelpetekst */
.np-vacation-form-modern .np-form-grid-dates>label{
  display:flex;
  flex-direction:column;
  align-self:start;
  gap:6px;
  min-width:0;
}
.np-vacation-form-modern .np-form-grid-dates input[type="date"]{
  display:block;
  width:100%;
  height:48px;
  min-height:48px;
  max-height:48px;
  margin-top:0;
  padding:11px 12px;
  line-height:1.2;
  flex:0 0 48px;
}
.np-vacation-form-modern .np-form-grid-dates label>small{
  margin-top:0;
}


/* v2.2.4 – Datofelt alignment: labeltekst i egen rad, inputs låses til samme baseline */
.np-form-grid-dates{align-items:start}
.np-form-grid-dates>label{display:grid!important;grid-template-rows:auto 48px auto;align-content:start;gap:6px!important}
.np-form-grid-dates .np-field-label{display:block;min-height:20px;line-height:20px;font-size:13px;font-weight:750}
.np-form-grid-dates .np-field-label .np-muted{display:inline;font-weight:600}
.np-form-grid-dates input[type="date"]{grid-row:2;margin:0!important;height:48px!important;min-height:48px!important;max-height:48px!important;box-sizing:border-box}
.np-form-grid-dates>label>small{grid-row:3;margin:0!important;min-height:0}

/* v2.3.0 – Lønn / feriepengeønske */
.np-payroll-request-card{max-width:100%;}
.np-payroll-request-form{display:grid;gap:20px;margin-top:18px;}
.np-payroll-request-form .np-form-grid{align-items:end;}
.np-check-row{display:flex!important;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid #d9dde3;border-radius:12px;background:#f8f9fb;cursor:pointer;}
.np-check-row input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px;margin:1px 0 0;padding:0;accent-color:#d50020;}
.np-check-row span{display:grid;gap:4px;}
.np-check-row strong{font-size:15px;color:#1f2328;}
.np-check-row small{font-size:13px;color:#68707d;line-height:1.45;}
@media(max-width:760px){.np-payroll-request-form .np-form-grid{grid-template-columns:1fr;}}

/* v2.4.2 – Mobile receipt capture */
.np-receipt-capture{margin:0;padding:0;border:0;min-width:0}
.np-receipt-capture legend{display:block;margin:0 0 8px;font-size:12px;font-weight:760;color:#3b424c}
.np-receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.np-receipt-actions label{position:relative;display:flex!important;align-items:center;gap:10px;min-height:64px;padding:12px 13px!important;border:1px solid #d8dde4;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.np-receipt-actions label:hover{border-color:#9ea8b5;background:#fafbfc}
.np-receipt-actions label:focus-within{border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.10)}
.np-receipt-actions input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none}
.np-receipt-action-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#f1f3f5;font-size:18px;line-height:1}
.np-receipt-camera .np-receipt-action-icon{background:#fff1f3}
.np-receipt-actions label>span:last-of-type{display:flex;flex-direction:column;gap:2px;min-width:0}
.np-receipt-actions strong{font-size:13px;color:#303741}
.np-receipt-actions small{font-size:11px!important;color:#77808b!important}
.np-receipt-preview{display:flex;align-items:center;gap:11px;margin-top:10px;padding:10px 11px;border:1px solid #d7dde4;border-radius:11px;background:#f8fafb}
.np-receipt-preview[hidden]{display:none!important}
.np-receipt-preview img{flex:0 0 54px;width:54px;height:54px;object-fit:cover;border-radius:8px;border:1px solid #d9dee4;background:#fff}
.np-receipt-preview>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.np-receipt-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#353c45}
.np-receipt-preview small{font-size:11px;color:#737c87}
.np-receipt-preview .np-link-danger{flex:0 0 auto}
.np-receipt-help{display:block;margin-top:7px!important}
@media(max-width:680px){
  .np-receipt-actions{grid-template-columns:1fr}
  .np-receipt-actions label{min-height:68px}
  .np-receipt-camera{border-color:#e3b8c0!important;background:#fffafb!important}
  .np-receipt-camera strong{color:#a20e27}
}

/* v2.6.0 – ferie/compliance */
.np-vacation-legal-note{margin:0 0 18px;border-left:4px solid #b7791f}.np-vacation-legal-note p{margin:6px 0 0}.np-page-head small.np-muted{display:block;margin-top:7px;max-width:760px}

/* v2.7.0 – mobilstempling, PWA og felles hjelpetekster */
.np-clock-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border:1px solid #e2e2e2;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.np-clock-card.is-compact{margin-top:-4px;margin-bottom:20px;grid-template-columns:minmax(0,1fr) auto auto}
.np-clock-card-copy h2{margin:.2rem 0 .35rem;font-size:clamp(1.35rem,4vw,2rem)}
.np-clock-card-copy p{margin:0;color:#646970}
.np-clock-action{margin:0}.np-btn-clock{min-width:170px;min-height:58px;border:0;border-radius:14px;font-size:1.08rem;font-weight:800;cursor:pointer;padding:14px 22px}
.np-btn-clock-in{background:#138a4b;color:#fff}.np-btn-clock-out{background:#c8102e;color:#fff}
.np-clock-more{font-weight:700;text-decoration:none;color:#c8102e;white-space:nowrap}
.np-clock-events{display:grid;gap:10px}.np-clock-events>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.np-clock-events>div:last-child{border-bottom:0}.np-clock-events small{grid-column:2;color:#6b6b6b}.np-clock-event-icon{display:inline-grid;place-items:center;min-width:42px;height:28px;border-radius:999px;font-size:.72rem;font-weight:800}.np-clock-event-icon.is-in{background:#e8f6ee;color:#0d6d3b}.np-clock-event-icon.is-out{background:#fbecef;color:#a70d27}
.np-clock-correction-form summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}.np-clock-correction-form summary span{color:#6b6b6b;font-size:.9rem}
.np-remember-device{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:600}.np-remember-device input{width:auto!important;margin:0}
.np-help-button{appearance:none;border:0;background:#eceef1;color:#4a4f55;border-radius:50%;width:22px;height:22px;padding:0;display:inline-grid;place-items:center;font-size:12px;font-weight:800;cursor:pointer;vertical-align:middle}.np-help-button:hover,.np-help-button:focus{background:#d9dde2;outline:2px solid rgba(34,113,177,.18)}
.np-help-popover{position:absolute;z-index:99999;background:#1f2328;color:#fff;border-radius:8px;padding:10px 12px;font-size:.9rem;line-height:1.4;box-shadow:0 8px 28px rgba(0,0,0,.22)}
.np-install-help{font-size:.9rem;color:#646970}.np-inline-info{border-left:4px solid #2271b1;background:#eef6fc;padding:10px 12px;border-radius:6px;display:grid;gap:3px}.np-inline-info span{color:#50575e}
@media(max-width:760px){.np-clock-card,.np-clock-card.is-compact{grid-template-columns:1fr}.np-clock-action,.np-btn-clock{width:100%}.np-btn-clock{min-height:64px;font-size:1.15rem}.np-clock-more{white-space:normal}.np-clock-correction-form summary{align-items:flex-start;flex-direction:column}.np-portal-nav nav a:nth-child(n+6){display:none}}

/* v2.7.1 – continuous timesheets and compact payroll choice */
.np-period-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.np-period-shortcuts a{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--np-border,#dcdcde);border-radius:999px;text-decoration:none;font-size:13px;font-weight:650;background:#fff;color:inherit}.np-period-shortcuts a.is-active{background:#111;color:#fff;border-color:#111}.np-timesheet-payroll-choice{padding:14px 16px;margin:14px 0}.np-timesheet-payroll-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.np-timesheet-payroll-form .np-check-row{flex:1;min-width:260px;margin:0}.np-timesheet-payroll-form .np-status,.np-timesheet-payroll-form .np-muted{white-space:nowrap}@media(max-width:640px){.np-timesheet-payroll-form{align-items:stretch}.np-timesheet-payroll-form .np-btn{width:100%}}

/* v2.7.6 – clearer timesheet rows, secondary monthly choices, employee documents */
.np-day-compact{padding:0;background:#fff}.np-day-compact.is-confirmed{background:#fff}.np-day-compact.has-deviation{background:#fffaf2}.np-day-row{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(300px,1.7fr) 90px;gap:18px;align-items:center;padding:15px 17px}.np-day-date{min-width:0}.np-day-date>strong{display:block;font-size:15px;line-height:1.25}.np-day-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.np-day-times{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-width:0}.np-day-times>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline;min-width:0}.np-day-times>span>small:first-child{grid-row:1/3;color:#8a9098;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.np-day-times strong{font-size:14px;white-space:nowrap}.np-day-times>span>small:last-child{grid-column:2;color:var(--np-muted);font-size:11px}.np-text-warn{color:#806100}.np-day-primary-action{text-align:right;display:flex;justify-content:flex-end}.np-day-primary-action form{margin:0}.np-row-ok{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9f6ee;color:#17653e;font-weight:900}.np-day-more{border-top:1px solid #eef0f2;background:#fbfcfd}.np-day-more>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 17px;cursor:pointer;color:#646b74;font-size:12px;font-weight:700;list-style:none}.np-day-more>summary::-webkit-details-marker{display:none}.np-day-more[open]>summary{color:#333}.np-day-more-body{padding:0 17px 14px;display:grid;gap:8px}.np-day-more-body>.np-edit-time{border:1px solid #e2e5e9;border-radius:9px;background:#fff;padding:0 11px}.np-day-more-body>.np-edit-time>summary{padding:9px 0}.np-day-more-body .np-deviation-form{min-width:0;margin:0 0 10px}.np-reset-row{margin:3px 0 0}.np-day.np-cal-saturday,.np-day.np-cal-sunday,.np-day.np-cal-red-day{border-left-width:3px}.np-day.np-cal-saturday .np-day-row,.np-day.np-cal-sunday .np-day-row,.np-day.np-cal-red-day .np-day-row{opacity:.82}.np-day.np-cal-saturday .np-day-more,.np-day.np-cal-sunday .np-day-more,.np-day.np-cal-red-day .np-day-more{display:none}

.np-timesheet-other-options{padding:0;margin:18px 0;background:#fbfcfd;box-shadow:none}.np-timesheet-other-options>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}.np-timesheet-other-options>summary::-webkit-details-marker{display:none}.np-timesheet-other-options>summary span:first-child{display:flex;flex-direction:column;gap:2px}.np-timesheet-other-options>summary small{font-weight:400;color:var(--np-muted)}.np-timesheet-other-options .np-chevron{font-size:18px;color:#777}.np-timesheet-other-options[open] .np-chevron{transform:rotate(180deg)}.np-timesheet-other-options .np-timesheet-payroll-form{border-top:1px solid var(--np-border);padding:14px 16px}.np-timesheet-other-options .np-check-row{background:#fff;border:1px solid #e5e7ea;border-radius:10px;padding:12px}

.np-document-package{display:grid;gap:10px;padding:0 0 8px}.np-document-package-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 18px 8px}.np-document-package-head h2{margin:2px 0 4px;font-size:20px}.np-document-package-head p{margin:0;max-width:760px;color:var(--np-muted);font-size:13px;line-height:1.5}.np-original-package{margin-top:2px;background:#fafafa;border:1px solid var(--np-border);border-radius:12px}.np-original-package>summary{cursor:pointer;padding:13px 15px;font-weight:750;color:#45484d}.np-original-package>div{padding:0 15px 15px}.np-original-package p{margin:0 0 10px;color:var(--np-muted);font-size:13px}.np-document-package+.np-document-row{margin-top:8px}
.np-documents-list{display:grid;gap:10px}.np-document-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--np-border);border-radius:13px;padding:14px 16px}.np-document-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#f1f2f4;color:#60656c;font-size:10px;font-weight:900;letter-spacing:.06em}.np-document-main{display:flex;flex-direction:column;min-width:0}.np-document-main>strong{font-size:15px}.np-document-main>span,.np-document-main>small{color:var(--np-muted);font-size:12px}.np-document-actions{display:flex;align-items:center;gap:10px}.np-doc-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.np-doc-status.is-signed{background:#e8f5ed;color:#17653e}.np-doc-status.is-pending{background:#fff0bd;color:#735600}.np-doc-status.is-available{background:#eef0f2;color:#555}.np-empty-state{text-align:center;padding:36px 24px}.np-empty-state h2{margin:0 0 6px}

@media(max-width:900px){.np-day-row{grid-template-columns:minmax(180px,1.2fr) minmax(260px,1.6fr) 76px;gap:12px}.np-portal-nav nav{overflow-x:auto;scrollbar-width:none}.np-portal-nav nav::-webkit-scrollbar{display:none}.np-portal-nav nav a{white-space:nowrap}}
@media(max-width:700px){.np-day-row{grid-template-columns:1fr auto;gap:10px;padding:14px}.np-day-date{grid-column:1}.np-day-primary-action{grid-column:2;grid-row:1}.np-day-times{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr;gap:12px;padding-top:8px;border-top:1px solid #f0f1f2}.np-day-times>span{grid-template-columns:1fr}.np-day-times>span>small:first-child{grid-row:auto;grid-column:auto}.np-day-times>span>small:last-child{grid-column:auto}.np-day-more>summary,.np-day-more-body{padding-left:14px;padding-right:14px}.np-document-row{grid-template-columns:40px 1fr}.np-document-actions{grid-column:1/-1;justify-content:space-between;padding-top:8px;border-top:1px solid #eef0f2}.np-document-actions .np-btn{width:auto}.np-timesheet-other-options .np-timesheet-payroll-form{align-items:stretch}.np-timesheet-other-options .np-check-row{min-width:0}.np-timesheet-other-options .np-btn{width:100%}}


/* v2.7.7 – compact employee portal menu */
.np-portal-more{position:relative;margin-left:auto;flex:0 0 auto}.np-portal-more-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid #333;border-radius:9px;background:#1d1d1d;color:#fff;font:inherit;font-size:22px;line-height:1;cursor:pointer}.np-portal-more-toggle:hover,.np-portal-more-toggle:focus,.np-portal-more.is-active .np-portal-more-toggle{background:#2a2a2a;border-color:#444;outline:none}.np-portal-more-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:60;width:230px;padding:7px;background:#fff;color:#171717;border:1px solid #dfe2e6;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.18)}.np-portal-more-menu[hidden]{display:none}.np-portal-more-head{display:flex;flex-direction:column;gap:1px;padding:9px 10px 10px;border-bottom:1px solid #eceef1;margin-bottom:5px}.np-portal-more-head strong{font-size:14px}.np-portal-more-head small{font-size:11px;color:#747a82}.np-portal-more-menu>a,.np-portal-menu-logout{display:flex;width:100%;align-items:center;text-align:left;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#25282c;text-decoration:none;font:inherit;font-size:14px;cursor:pointer}.np-portal-more-menu>a:hover,.np-portal-more-menu>a:focus,.np-portal-menu-logout:hover,.np-portal-menu-logout:focus{background:#f1f3f5;outline:none}.np-portal-more-menu>a.is-active{background:#f1f3f5;font-weight:750}.np-portal-more-menu form{margin:4px 0 0;padding-top:4px;border-top:1px solid #eceef1}.np-portal-menu-logout{color:#a70d27;font-weight:700}.np-portal-nav>nav{min-width:0}.np-portal-nav>nav a{flex:0 0 auto}
@media(max-width:760px){.np-portal-nav{flex-wrap:wrap}.np-portal-more{margin-left:0}.np-portal-nav>nav{order:3;width:100%}.np-portal-more-menu{right:0}.np-portal-nav nav a:nth-child(n+6){display:none}}
@media(max-width:430px){.np-logo{font-size:17px}.np-portal-more-toggle{width:40px;height:40px}.np-portal-more-menu{position:fixed;left:12px;right:12px;top:66px;width:auto}}

@media(max-width:700px){.np-document-package-head{padding:14px 4px 6px;flex-direction:column;gap:8px}.np-document-package-head .np-doc-status{align-self:flex-start}}


/* v2.8.3 – compact checkbox/radio controls throughout employee portal */
.np-portal input[type="checkbox"],
.np-portal input[type="radio"],
.np-portal-wrap input[type="checkbox"],
.np-portal-wrap input[type="radio"],
.np-check-row input[type="checkbox"],
.np-check-row input[type="radio"]{
  display:inline-block!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  min-height:20px!important;
  padding:0!important;
  margin:1px 0 0!important;
  flex:0 0 20px!important;
  vertical-align:top;
  accent-color:#d50020;
}

/* v2.9.0 – Oppslag på ansattforsiden */
.np-announcements{margin:0 0 20px}.np-announcements-head{display:flex;align-items:baseline;gap:10px;margin:0 2px 10px}.np-announcements-head .np-eyebrow{margin:0}.np-announcements-head h2{font-size:18px;margin:0}.np-announcement-list{display:grid;gap:10px}.np-announcement{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--np-border);border-radius:14px;padding:16px 18px;box-shadow:0 2px 10px rgba(15,23,42,.035)}.np-announcement.is-important{border-left:4px solid var(--np-red);background:#fffafa}.np-announcement.is-pinned{box-shadow:0 4px 16px rgba(15,23,42,.06)}.np-announcement-copy{min-width:0}.np-announcement-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.np-announcement-title h3{font-size:17px;margin:0;letter-spacing:-.01em}.np-announcement-copy p{margin:6px 0 0;line-height:1.5}.np-announcement-copy small{display:block;color:var(--np-muted);margin-top:7px}.np-announcement-pin{font-size:16px}.np-announcement>.np-btn{flex:0 0 auto}.np-announcement .np-badge{margin:0}@media(max-width:720px){.np-announcement{align-items:flex-start;flex-direction:column}.np-announcement>.np-btn{width:100%}}


/* v2.9.3 – Oppslag finpuss */
.np-announcement.is-important{border-color:#f1c5c9;border-left:5px solid var(--np-red);background:linear-gradient(90deg,#fff7f7 0,#fff 44%)}
.np-announcement.is-important .np-announcement-title h3{font-weight:800}
.np-announcements-more{margin-top:10px}
.np-announcements-more>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--np-red);font-weight:700;list-style:none;padding:6px 2px}
.np-announcements-more>summary::-webkit-details-marker{display:none}
.np-announcements-more>summary:after{content:'›';font-size:20px;line-height:1;transition:transform .15s ease}
.np-announcements-more[open]>summary:after{transform:rotate(90deg)}
.np-announcements-more>summary span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eceff3;color:#475569;font-size:12px}
.np-announcement-list-extra{margin-top:8px}

/* v2.9.4 – Oppslag statusfarger */
.np-announcement.is-normal{border-color:#cbe6d6;border-left:5px solid var(--np-green);background:linear-gradient(90deg,#f3fbf6 0,#fff 44%)}
.np-announcement.is-normal .np-announcement-title h3{font-weight:800}
.np-badge-ok{background:#e9f6ee;color:#17653e}



/* v3.0.0 – Stempling feature toggle */
.np-portal-nav nav .np-nav-disabled{display:flex;align-items:center;padding:10px 12px;border-radius:8px;color:#737373;white-space:nowrap;cursor:not-allowed;user-select:none;opacity:.72}
.np-clock-disabled{background:#f7f8f9;border-color:#e0e3e6;box-shadow:none;color:#60656c}
.np-clock-disabled .np-card-kicker{color:#7b8086}
.np-clock-disabled .np-clock-card-copy h2{color:#4a4f55}
.np-clock-disabled-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #d7dade;background:#eceff2;color:#666d75;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}
@media(max-width:760px){.np-clock-disabled-badge{justify-self:start}.np-portal-nav nav .np-nav-disabled{padding:9px 7px}}


/* v3.0.2 – vis/skjul passord */
.np-password-field{position:relative;display:block;width:100%}
.np-password-field>input{padding-right:46px!important;width:100%}
.np-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer}
.np-password-toggle:hover,.np-password-toggle:focus-visible{background:#f1f3f5;color:#20242a;outline:none}
.np-password-toggle:focus-visible{box-shadow:0 0 0 2px rgba(200,16,46,.22)}
.np-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* v3.1.4 – Timeliste: normalen er plan, avvik får oppmerksomheten */
.np-timesheet-guidance{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:0 0 14px;padding:11px 13px;border:1px solid #e5e8ec;border-radius:10px;background:#f8fafb;color:#59616b;font-size:12px}.np-timesheet-guidance strong{color:#2d333a}.np-week{scroll-margin-top:90px}.np-week-meta{margin:3px 0 0;color:#737b85;font-size:12px}.np-day{scroll-margin-top:90px}.np-day.is-normal .np-day-row{opacity:.86}.np-day.is-normal:hover .np-day-row{opacity:1}.np-day.is-future .np-day-row{opacity:.66}.np-day.is-future .np-day-more{display:none}.np-day-state.is-planned{background:#eef1f4;color:#68717c!important}.np-link-reset{appearance:none;border:0;background:transparent;padding:5px 0;color:#5f6872;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.np-link-reset:hover,.np-link-reset:focus{color:#222;text-decoration:underline}.np-week-head form{margin:0}@media(max-width:700px){.np-timesheet-guidance{display:grid;gap:2px}.np-week-head{align-items:flex-start}.np-week-meta{line-height:1.4}.np-week-confirm-btn{white-space:nowrap}}

/* v3.1.5 – månedsavslutning, månedskontroll og egenmelding */
.np-month-control{margin-top:18px}.np-month-control .np-section-head p{margin:5px 0 0;color:var(--np-muted);font-size:13px}.np-month-control-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:15px}.np-month-control-item{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:112px;padding:13px;border:1px solid #e3e6ea;border-radius:11px;background:#fafbfc;text-decoration:none}.np-month-control-item>span:first-child{display:flex;flex-direction:column;gap:4px}.np-month-control-item strong{font-size:13px}.np-month-control-item small{color:#6f7781;font-size:11px;line-height:1.4}.np-month-control-status{align-self:flex-start;display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef1f4;color:#5e6670;font-size:10px;font-weight:800}.np-month-control-item.is-ok .np-month-control-status{background:#e9f6ee;color:#17653e}.np-month-control-item.is-pending .np-month-control-status{background:#fff3cd;color:#765200}.np-month-control-item.is-warn{border-color:#efd7a7;background:#fffaf0}.np-month-control-item.is-warn .np-month-control-status{background:#fff0c2;color:#735600}.np-month-control-item:hover{border-color:#c8cdd3;background:#fff}.np-month-submit{margin-top:18px}.np-month-submit .np-card-kicker{display:block;margin-bottom:5px}.np-month-submit>p{margin:10px 0}.np-month-auto-confirm{margin:14px 0}.np-month-not-ready{border-left:4px solid #b7791f}.np-month-not-ready p{margin:5px 0 0;color:var(--np-muted)}.np-self-cert-confirm{margin:14px 0;padding:12px 13px;border:1px solid #d8dde3;border-radius:10px;background:#f8fafb}.np-self-cert-confirm[hidden]{display:none!important}.np-self-cert-confirm span{display:flex;flex-direction:column;gap:2px}.np-self-cert-confirm small{color:var(--np-muted);font-weight:400}
@media(max-width:900px){.np-month-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.np-month-control-grid{grid-template-columns:1fr}.np-month-control-item{min-height:0}}


/* v3.1.6 – Reiser & Kurs: registreringsflaten følger full portalbredde */
.np-travel-create-grid{grid-template-columns:minmax(0,1fr);width:100%}
.np-travel-create-grid>.np-travel-create{width:100%;min-width:0}


/* v3.1.11 – Ferie feature-toggle */
.np-feature-disabled-card{display:flex;align-items:flex-start;gap:16px;padding:24px;border-style:dashed;background:#fafafa;color:#555}.np-feature-disabled-card h2{margin:0 0 6px;color:#333}.np-feature-disabled-card p{margin:0;color:var(--np-muted);max-width:680px}.np-feature-disabled-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eee;color:#888;font-size:22px;flex:0 0 auto}@media(max-width:700px){.np-feature-disabled-card{padding:18px}}

/* v3.2.0 – HMS: avvik og konfidensielle varsler */
.np-hms-overview-card{margin-top:18px}.np-hms-overview-card .np-card-head p{margin:.35rem 0 0;color:#68717d}
.np-hms-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}.np-hms-choice{display:flex;gap:16px;text-decoration:none;color:inherit;align-items:flex-start;padding:22px}.np-hms-choice:hover{border-color:#b8bec6;box-shadow:0 8px 24px rgba(0,0,0,.05)}.np-hms-choice.is-confidential{border-left:4px solid #30343b}.np-hms-choice-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#f2f4f6;font-size:20px}.np-hms-choice h2{margin:0 0 6px;font-size:20px}.np-hms-choice p{margin:0 0 12px;color:#68717d;line-height:1.45}.np-hms-choice strong{color:#c8102e}
.np-hms-form-card{padding:22px 24px;margin-bottom:22px}.np-hms-form{display:grid;gap:16px;margin-top:18px}.np-hms-form label{display:grid;gap:7px;font-weight:720}.np-hms-form input,.np-hms-form select,.np-hms-form textarea{width:100%;box-sizing:border-box}.np-hms-form textarea{min-height:120px;resize:vertical}.np-hms-urgent-note{margin:14px 0 0}.np-hms-images{margin-top:2px}.np-hms-my-cases{padding:22px 24px}.np-hms-case-list{display:grid;gap:8px}.np-hms-case-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-top:1px solid #eceff2;color:inherit;text-decoration:none}.np-hms-case-row:first-child{border-top:0}.np-hms-case-row>div{display:grid;gap:3px}.np-hms-case-row span{color:#727b86;font-size:12px}.np-hms-case-detail{padding:22px 24px}.np-hms-case-copy{padding:14px 0;border-top:1px solid #eceff2}.np-hms-attachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0 18px}.np-hms-attachments img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #dfe3e8;border-radius:10px}.np-hms-dialog{display:grid;gap:10px;border-top:1px solid #eceff2;padding-top:16px}.np-hms-message{max-width:82%;padding:11px 13px;border-radius:12px;background:#f3f5f7}.np-hms-message.is-me{margin-left:auto;background:#fff1f3}.np-hms-message p{margin:5px 0}.np-hms-message small{color:#7b838e}.np-hms-comment-form{display:grid;gap:10px;margin-top:18px;border-top:1px solid #eceff2;padding-top:16px}
@media(max-width:760px){.np-hms-choice-grid{grid-template-columns:1fr}.np-hms-choice{padding:18px 16px}.np-hms-form-card,.np-hms-my-cases,.np-hms-case-detail{padding:18px 16px}.np-hms-case-row{align-items:flex-start}.np-hms-message{max-width:92%}.np-hms-form .np-form-grid{grid-template-columns:1fr}}


/* v3.2.1 – HMS portal polish + fast inngang fra Oversikt */
.np-overview-hero{align-items:center;gap:22px}
.np-overview-hms-btn{margin-left:auto;display:flex;align-items:center;gap:11px;min-width:210px;padding:12px 14px;border:1px solid #d7dbe0;border-radius:12px;background:#fff;text-decoration:none;color:#20242a;box-shadow:0 3px 14px rgba(0,0,0,.04);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.np-overview-hms-btn:hover{border-color:#c8102e;box-shadow:0 7px 20px rgba(0,0,0,.07);transform:translateY(-1px)}
.np-overview-hms-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#fff0f2;color:#c8102e;font-size:18px;font-weight:900}
.np-overview-hms-btn>span:nth-child(2){display:flex;flex-direction:column;line-height:1.18}
.np-overview-hms-btn strong{font-size:13px;letter-spacing:.04em}
.np-overview-hms-btn small{margin-top:3px;color:#69727d;font-size:12px}
.np-overview-hms-arrow{margin-left:auto;color:#8a919a;font-size:20px;line-height:1}

.np-hms-page .np-hms-hero{margin-bottom:18px;padding:2px 0 4px}
.np-hms-page .np-hms-hero p{max-width:760px;margin-bottom:0}
.np-hms-form-card{padding:0;overflow:hidden}
.np-hms-form-card>.np-card-head{padding:22px 24px;border-bottom:1px solid #eceff2;background:#fff}
.np-hms-form-card>.np-card-head>div{min-width:0}
.np-hms-form-card>.np-card-head h2{margin:2px 0 5px;font-size:23px}
.np-hms-form-card>.np-card-head p{margin:0;max-width:720px;color:#68717d}
.np-hms-form-card>.np-card-head .np-btn{flex:0 0 auto}
.np-hms-urgent-note{margin:18px 24px 0;padding:14px 16px;border:1px solid #f0d99d;background:#fff7df}
.np-hms-form{gap:0;margin:0;padding:8px 24px 24px}
.np-hms-form>label,.np-hms-form>.np-form-grid,.np-hms-form>.np-info-box,.np-hms-form>.np-receipt-capture{margin-top:16px}
.np-hms-form label{gap:7px;font-size:13px;font-weight:750;color:#272b30}
.np-hms-form input[type="text"],.np-hms-form input:not([type]),.np-hms-form select,.np-hms-form textarea{display:block;width:100%;min-height:46px;margin:0;padding:11px 12px;border:1px solid #cfd4da;border-radius:9px;background:#fff;color:#20242a;font:inherit;line-height:1.35;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.np-hms-form textarea{min-height:142px;resize:vertical}
.np-hms-form input:focus,.np-hms-form select:focus,.np-hms-form textarea:focus{border-color:#8a919a;box-shadow:0 0 0 3px rgba(34,39,45,.07)}
.np-hms-form input::placeholder,.np-hms-form textarea::placeholder{color:#969da6;opacity:1}
.np-hms-form .np-form-grid{gap:14px}
.np-hms-form .np-form-grid label{min-width:0}
.np-hms-images{padding:0;border:0}
.np-hms-images legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:800;color:#272b30}
.np-hms-images .np-receipt-actions{gap:12px}
.np-hms-form>.np-info-box{padding:14px 16px;border:1px solid #dfe3e8;border-radius:10px;background:#f7f8fa;color:#454d56;line-height:1.45}
.np-hms-form>.np-btn-wide{min-height:48px;margin-top:18px;border-radius:10px;font-size:15px}
.np-hms-my-cases{margin-top:20px}

@media(max-width:760px){
  .np-overview-hero{align-items:flex-start;flex-direction:column}
  .np-overview-hms-btn{width:100%;min-width:0;margin-left:0;box-sizing:border-box}
  .np-hms-form-card>.np-card-head{padding:18px 16px;align-items:stretch}
  .np-hms-form-card>.np-card-head .np-btn{width:100%;box-sizing:border-box}
  .np-hms-urgent-note{margin:14px 16px 0}
  .np-hms-form{padding:4px 16px 18px}
  .np-hms-form textarea{min-height:132px}
}

/* Shared vacation plan / week registration – v3.2.2 */
.np-vacation-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.np-page-head-actions{display:flex;gap:8px;flex:0 0 auto}.np-vacation-summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}.np-vacation-calendar{padding:24px;margin-bottom:18px}.np-vacation-calendar-head{align-items:flex-start;gap:18px}.np-vacation-calendar-filter select{min-width:185px}.np-vacation-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.np-vacation-week-card{border:1px solid var(--np-border);border-radius:14px;background:#fff;overflow:hidden}.np-vacation-week-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:#f7f7f8;border-bottom:1px solid var(--np-border)}.np-vacation-week-head strong{font-size:15px}.np-vacation-week-head span{font-size:12px;color:var(--np-muted)}.np-vacation-week-people{display:grid}.np-vacation-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid #f0f0f1}.np-vacation-person:first-child{border-top:0}.np-vacation-person small{color:var(--np-muted);text-align:right}.np-vacation-period-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.np-vacation-choice{padding:16px;border:1px solid var(--np-border);border-radius:14px;background:#fafafa}.np-vacation-choice>strong{display:block;margin-bottom:12px}.np-vacation-choice>small{display:block;margin-top:8px;color:var(--np-muted)}.np-vacation-form-modern .np-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.np-field-block{max-width:360px}.np-empty-state{display:flex;flex-direction:column;gap:4px;padding:20px;border:1px dashed var(--np-border);border-radius:12px;color:var(--np-muted)}.np-empty-state strong{color:var(--np-text)}@media(max-width:900px){.np-vacation-summary-four{grid-template-columns:repeat(2,minmax(0,1fr))}.np-vacation-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np-vacation-period-choices{grid-template-columns:1fr}}@media(max-width:700px){.np-vacation-page-head{display:block}.np-page-head-actions{margin-top:14px}.np-vacation-summary-four{grid-template-columns:1fr 1fr}.np-vacation-calendar{padding:18px}.np-vacation-calendar-head{display:block}.np-vacation-calendar-filter{margin-top:12px}.np-vacation-calendar-filter select{width:100%}.np-vacation-week-grid{grid-template-columns:1fr}.np-vacation-form-modern .np-form-grid-3{grid-template-columns:1fr}.np-vacation-person{align-items:flex-start}.np-vacation-person small{max-width:45%}}

/* v3.2.3 – HMS mobile upload resilience */
.np-hms-image-note{margin:9px 0 0;font-size:12px}.np-hms-image-status{min-height:18px;margin-top:5px;font-size:12px;color:#59636f}

/* Vacation matrix v3.2.6 */
.np-vacation-matrix-scroll{overflow-x:auto;overflow-y:visible;max-width:100%;margin-top:14px;border:1px solid var(--np-border);border-radius:12px;background:#fff;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.np-vacation-matrix{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;table-layout:fixed}
.np-vacation-matrix th,.np-vacation-matrix td{box-sizing:border-box;border-right:1px solid #ececef;border-bottom:1px solid #ececef;padding:0;height:56px;vertical-align:middle;background:#fff}
.np-vacation-matrix thead th{position:sticky;top:0;z-index:4;width:110px;min-width:110px;padding:9px 8px;text-align:center;background:#f7f7f8;color:var(--np-text)}
.np-vacation-matrix thead th strong{display:block;font-size:13px;line-height:1.25}.np-vacation-matrix thead th small{display:block;margin-top:3px;font-size:11px;font-weight:500;color:var(--np-muted);white-space:nowrap}
.np-vacation-matrix .np-vacation-name-col{position:sticky;left:0;z-index:3;width:180px;min-width:180px;max-width:180px;padding:8px 10px;text-align:left;background:#fff;box-shadow:1px 0 0 var(--np-border)}
.np-vacation-matrix thead .np-vacation-name-col{z-index:6;background:#f7f7f8}.np-vacation-matrix .np-vacation-name-col strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-vacation-matrix tbody tr:last-child th,.np-vacation-matrix tbody tr:last-child td{border-bottom:0}.np-vacation-matrix tr th:last-child,.np-vacation-matrix tr td:last-child{border-right:0}
.np-vacation-matrix-cell{display:flex;align-items:center;justify-content:center;min-height:32px;margin:6px 5px;padding:4px 8px;border:1px solid #a9d7b2;border-radius:6px;background:#edf8ef;color:#176b2c;font-size:12px;font-weight:750;line-height:1.1;text-align:center;white-space:nowrap}
.np-vacation-matrix-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:10px;color:var(--np-muted);font-size:12px}.np-vacation-matrix-legend span{display:inline-flex;align-items:center;gap:6px}.np-vacation-legend-approved{display:inline-block;width:22px;height:12px;border:1px solid #a9d7b2;border-radius:3px;background:#edf8ef}
@media(max-width:700px){.np-vacation-calendar{padding:16px}.np-vacation-matrix thead th{width:98px;min-width:98px}.np-vacation-matrix .np-vacation-name-col{width:132px;min-width:132px;max-width:132px;padding:7px 8px}.np-vacation-matrix th,.np-vacation-matrix td{height:52px}.np-vacation-matrix-cell{margin:5px 4px;padding:4px 6px;font-size:11px}.np-vacation-matrix-legend{display:block}.np-vacation-matrix-legend span{margin-right:10px;margin-bottom:4px}}

/* Vacation matrix compact typography – v3.2.7 */
.np-vacation-matrix th,.np-vacation-matrix td{height:46px}
.np-vacation-matrix thead th{padding:7px 7px}
.np-vacation-matrix thead th strong{font-size:12px;line-height:1.2}
.np-vacation-matrix thead th small{margin-top:2px;font-size:10px;line-height:1.2}
.np-vacation-matrix .np-vacation-name-col{padding:6px 9px}
.np-vacation-matrix .np-vacation-name-col strong{font-size:14px;line-height:1.25}
.np-vacation-matrix .np-vacation-name-col small{font-size:10px;line-height:1.2}
.np-vacation-matrix-cell{min-height:28px;margin:4px 5px;padding:3px 7px;font-size:11px;line-height:1.05}
@media(max-width:700px){.np-vacation-matrix th,.np-vacation-matrix td{height:44px}.np-vacation-matrix thead th strong{font-size:11px}.np-vacation-matrix thead th small{font-size:9px}.np-vacation-matrix .np-vacation-name-col strong{font-size:13px}.np-vacation-matrix-cell{min-height:27px;margin:4px;font-size:10.5px}}


/* Vacation matrix refinement + department filter – v3.2.8 */
.np-vacation-matrix tbody .np-vacation-name-col strong{font-size:12.5px!important;font-weight:600!important;line-height:1.2;letter-spacing:0}
.np-vacation-calendar-filter{position:relative;display:flex;align-items:center;min-width:190px}
.np-vacation-calendar-filter select{appearance:none;-webkit-appearance:none;width:100%;min-height:38px;padding:7px 38px 7px 12px;border:1px solid #c7c9cc;border-radius:8px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#50575e 50%),linear-gradient(135deg,#50575e 50%,transparent 50%);background-position:calc(100% - 17px) 15px,calc(100% - 12px) 15px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:inherit;font:inherit;box-shadow:0 1px 2px rgba(0,0,0,.03);cursor:pointer}
.np-vacation-calendar-filter select:hover{border-color:#8c8f94}
.np-vacation-calendar-filter select:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:0}
@media(max-width:782px){.np-vacation-matrix tbody .np-vacation-name-col strong{font-size:12px!important;font-weight:600!important}.np-vacation-calendar-filter{width:100%;min-width:0}.np-vacation-calendar-filter select{min-height:42px}}

/* v3.2.10 vacation UX */
.np-vacation-calendar{scroll-margin-top:90px}.np-vacation-create .np-form-help{margin:0 0 12px;color:var(--np-muted);font-size:13px;line-height:1.45;max-width:720px}.np-vacation-create .np-vacation-choice>strong{font-size:15px}.np-vacation-create .np-vacation-choice small{line-height:1.45}


/* v3.2.11 vacation period select refinement */
.np-vacation-form-modern .np-field-block{max-width:420px}
.np-vacation-form-modern .np-field-block>select[name="period_mode"]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:48px;
  margin-top:6px;
  padding:11px 44px 11px 14px;
  border:1px solid #cfd3d8;
  border-radius:10px;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#59616d 50%),linear-gradient(135deg,#59616d 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  color:var(--np-text);
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.np-vacation-form-modern .np-field-block>select[name="period_mode"]:hover{border-color:#9ca3ad}
.np-vacation-form-modern .np-field-block>select[name="period_mode"]:focus{outline:none;border-color:#7d8794;box-shadow:0 0 0 3px rgba(89,103,119,.10)}
@media(max-width:700px){.np-vacation-form-modern .np-field-block{max-width:none}.np-vacation-form-modern .np-field-block>select[name="period_mode"]{min-height:50px;font-size:16px}}

/* v3.2.12 – modern week vacation entry */
.np-vacation-weeks-card{
  padding:18px 18px 16px;
  background:#fff;
  border-color:#dfe2e6;
}
.np-vacation-choice-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:15px;
}
.np-vacation-choice-head>strong{
  margin:0;
  font-size:15px;
  font-weight:650;
  line-height:1.3;
}
.np-vacation-choice-head>span{
  color:var(--np-muted);
  font-size:12.5px;
  line-height:1.35;
}
.np-vacation-week-fields{
  display:grid;
  grid-template-columns:minmax(92px,.75fr) minmax(112px,1fr) minmax(112px,1fr);
  gap:12px;
  align-items:end;
}
.np-vacation-week-fields label{
  display:grid;
  gap:6px;
  min-width:0;
  font-weight:500;
}
.np-vacation-week-fields .np-field-label{
  display:flex;
  align-items:baseline;
  gap:6px;
  color:#32373c;
  font-size:12.5px;
  font-weight:600;
  line-height:1.2;
}
.np-vacation-week-fields .np-field-optional{
  color:var(--np-muted);
  font-size:11px;
  font-weight:500;
}
.np-vacation-week-fields input[type="number"]{
  box-sizing:border-box;
  width:100%;
  min-height:44px;
  margin:0;
  padding:9px 11px;
  border:1px solid #cfd3d8;
  border-radius:9px;
  background:#fff;
  color:var(--np-text);
  font:inherit;
  font-size:14px;
  font-weight:500;
  line-height:1.25;
  box-shadow:0 1px 2px rgba(0,0,0,.02);
}
.np-vacation-week-fields input[type="number"]:focus{
  outline:none;
  border-color:#7d8794;
  box-shadow:0 0 0 3px rgba(89,103,119,.10);
}
.np-vacation-week-help{
  margin:11px 0 0;
  color:var(--np-muted);
  font-size:12px;
  line-height:1.45;
}
@media(max-width:700px){
  .np-vacation-choice-head{display:block}
  .np-vacation-choice-head>span{display:block;margin-top:3px}
  .np-vacation-week-fields{grid-template-columns:1fr}
  .np-vacation-week-fields input[type="number"]{min-height:46px;font-size:16px}
}


/* v3.2.15 vacation calendar: show partial weeks by weekday */
.np-vacation-partial-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;margin:3px 4px;padding:2px 3px;min-height:34px;border-radius:6px;color:var(--np-muted);background:#fafafa}
.np-vacation-partial-days{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:100%}
.np-vacation-day-dot{display:flex;align-items:center;justify-content:center;min-width:15px;height:18px;border:1px solid var(--np-border);border-radius:4px;background:#fff;color:var(--np-muted);font-size:9px;font-weight:600;line-height:1}
.np-vacation-day-dot.is-vacation{border-color:#a9d7b2;background:#edf8ef;color:#176b2c}
.np-vacation-partial-cell small{font-size:9px;font-weight:500;color:var(--np-muted);line-height:1}
@media(max-width:700px){.np-vacation-partial-cell{margin:3px;min-height:32px}.np-vacation-day-dot{min-width:14px;height:17px;font-size:8.5px}}

/* v3.3.0 – konfidensiell varsling: habilitetsvalg uten lokal utkastlagring */
.np-hms-alt-recipient{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;margin-top:16px;padding:13px 14px;border:1px solid #dfe3e8;border-radius:10px;background:#fafbfc;font-weight:500!important}
.np-hms-alt-recipient input{width:auto!important;min-height:0!important;margin:3px 0 0!important;flex:0 0 auto}
.np-hms-alt-recipient span{display:grid;gap:3px}.np-hms-alt-recipient strong{font-size:13px}.np-hms-alt-recipient small{font-size:12px;line-height:1.4;color:#68717d}

/* v3.4.0 – Oppslag med arrangement/påmelding */
.np-announcement.has-event-signup{display:block;padding:0;overflow:hidden}
.np-announcement-event-image{width:100%;height:330px;background:#111;overflow:hidden}
.np-announcement-event-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.np-announcement-event-body{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px}
.np-announcement.has-event-signup .np-announcement-copy{flex:1 1 auto}
.np-announcement-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;flex:0 0 320px}
.np-event-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;color:var(--np-muted);font-size:13px}
.np-event-meta span{display:inline-flex;gap:5px;align-items:baseline}
.np-event-meta strong{color:var(--np-text)}
.np-event-signup-heading{display:grid;gap:2px;margin:1px 0 0;padding:2px 2px 0}.np-event-signup-heading strong{font-size:16px}.np-event-signup-heading span{font-size:12px;color:var(--np-muted)}
.np-event-signup-form{margin-top:0;padding:15px 16px;border:1px solid var(--np-border);border-radius:12px;background:#fff;display:grid;gap:12px;min-width:0}
.np-event-signup-form fieldset{border:0;padding:0;margin:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.np-event-signup-form legend{font-weight:800;margin-bottom:6px;width:100%}
.np-event-signup-form fieldset label,.np-event-companion{display:inline-flex;align-items:center;gap:7px;font-weight:650}
.np-event-signup-form textarea{width:100%;min-height:82px;resize:vertical}
.np-event-signup-form>label>span{display:block;font-weight:700;margin-bottom:2px}.np-event-note-help{display:block;color:var(--np-muted);font-size:12px;line-height:1.35;margin:0 0 6px}
.np-event-response-status{font-size:13px;font-weight:750;padding:8px 10px;border-radius:10px;text-align:center;background:#eef2f5;color:#43505c}
.np-event-response-status.is-yes{background:#eaf7ef;color:#17653e}
.np-event-response-status.is-no{background:#f1f3f5;color:#555}
.np-badge-muted{background:#eef0f2!important;color:#5b626a!important}
@media(max-width:820px){.np-announcement-event-body{flex-direction:column}.np-announcement-actions{width:100%;flex-basis:auto}.np-announcement-event-image{height:230px}.np-announcement-event-image img{height:100%;object-position:center 35%}}

[data-np-event-signup-submit]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

/* v3.4.5 – kompakt påmelding etter at den ansatte har svart */
.np-event-edit-details{border:1px solid var(--np-border);border-radius:11px;background:#fff;overflow:hidden}
.np-event-edit-details>summary{cursor:pointer;list-style:none;padding:10px 12px;font-weight:750;text-align:center;color:var(--np-text);background:#fafafa}
.np-event-edit-details>summary::-webkit-details-marker{display:none}
.np-event-edit-details>summary:after{content:'›';display:inline-block;margin-left:7px;transition:transform .15s ease}
.np-event-edit-details[open]>summary:after{transform:rotate(90deg)}
.np-event-edit-body{padding:10px}
.np-event-edit-body .np-event-signup-form{border:0;padding:4px 2px 2px;border-radius:0}


/* v3.6.8 – tydelige passordkrav med live-status */
.np-password-requirements{margin:-2px 0 4px;padding:12px 13px;border:1px solid #e2e5e9;border-radius:10px;background:#f8fafb;color:#59616b;font-size:12px;line-height:1.4}
.np-password-requirements>strong{display:block;margin-bottom:6px;color:#30363d;font-size:12px}
.np-password-requirements ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}
.np-password-requirements li{display:flex;align-items:center;gap:6px;min-width:0}
.np-password-requirements li>span{display:inline-grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border-radius:50%;color:#7b838d;font-weight:900;font-size:11px}
.np-password-requirements li.is-ok{color:#17653e;font-weight:700}
.np-password-requirements li.is-ok>span{background:#e4f5ea;color:#17653e}
.np-password-requirements li.is-pending{color:#7b5b00}
.np-password-requirements>small{display:block;margin-top:7px;color:#7a828c}
.np-password-requirements.is-complete{border-color:#cfe6d8;background:#f5fbf7}
@media(max-width:520px){.np-password-requirements ul{grid-template-columns:1fr}}

/* v3.6.9 – onboarding, feedback and home-screen shortcut */
.np-portal-start-card{padding:0;overflow:hidden;margin-top:2px}.np-portal-start-head{padding:20px 22px 16px;border-bottom:1px solid var(--np-border)}.np-portal-start-head h2{margin:3px 0 5px;font-size:20px}.np-portal-start-head p{margin:0;max-width:760px;color:var(--np-muted)}.np-portal-start-grid{display:grid;grid-template-columns:1fr 1fr}.np-portal-start-item{display:flex;align-items:flex-start;gap:14px;padding:18px 22px;min-width:0}.np-portal-start-item+ .np-portal-start-item{border-left:1px solid var(--np-border)}.np-portal-start-item strong{display:block;margin:1px 0 4px;font-size:15px}.np-portal-start-item p{margin:0 0 12px;color:var(--np-muted);font-size:13px;line-height:1.45}.np-portal-start-actions{display:flex;flex-wrap:wrap;gap:8px}.np-portal-app-icon{display:block;width:54px;height:54px;flex:0 0 54px;border-radius:12px}.np-portal-feedback-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#eef8ef;color:#4dac50;border:1px solid #cae7cc;font-size:20px;font-weight:900}.np-portal-install-item .np-btn-primary{background:#4dac50;border-color:#4dac50}.np-portal-install-item .np-btn-primary:hover{background:#439947;border-color:#439947}#np-install-guide{scroll-margin-top:86px}
@media(max-width:760px){.np-portal-start-grid{grid-template-columns:1fr}.np-portal-start-item{padding:17px 16px}.np-portal-start-item+ .np-portal-start-item{border-left:0;border-top:1px solid var(--np-border)}.np-portal-start-head{padding:18px 16px 14px}.np-portal-start-actions .np-btn{flex:1;min-width:135px}.np-portal-app-icon{width:50px;height:50px;flex-basis:50px}}

/* v3.6.10 – admin-only onboarding controls */
.np-portal-start-grid.is-single{grid-template-columns:1fr}.np-portal-start-grid.is-single .np-portal-start-item+ .np-portal-start-item{border-left:0}


/* v3.9.0 – Passkeys / WebAuthn */
.np-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--np-muted);font-size:12px}.np-auth-divider:before,.np-auth-divider:after{content:"";height:1px;background:var(--np-border);flex:1}.np-btn-passkey{background:#fff;border:1px solid #b9c0c8;color:var(--np-text);font-weight:800}.np-btn-passkey:hover{background:#f7f8f9;border-color:#8f99a4}.np-passkey-login-help{margin:8px 0 0;color:var(--np-muted);font-size:11px;line-height:1.4;text-align:center}.np-passkey-message{margin-top:12px;padding:10px 12px;border-radius:9px;font-size:12px;line-height:1.45;background:#eef7f0;color:#17653e}.np-passkey-message.is-error{background:#fff0f0;color:#9d1c1c}.np-passkey-message.is-ok{background:#eef7f0;color:#17653e}.np-passkey-card{display:grid;gap:16px}.np-passkey-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.np-passkey-head h2{margin-bottom:5px}.np-passkey-head p{margin:0;max-width:720px}.np-passkey-badge{white-space:nowrap;padding:5px 9px;border-radius:999px;background:#eef2f5;color:#56616c;font-size:11px;font-weight:800}.np-passkey-register{display:grid;gap:10px;padding:14px;border:1px solid var(--np-border);border-radius:11px;background:#fafbfc}.np-passkey-register>label{display:grid;gap:5px;max-width:440px}.np-passkey-register .np-btn{justify-self:start}.np-passkey-list{display:grid;gap:10px}.np-passkey-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--np-border);border-radius:10px;background:#fff}.np-passkey-item-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.np-passkey-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f6ec;color:#17653e;font-weight:900;flex:0 0 28px}.np-passkey-item-main strong,.np-passkey-item-main small{display:block}.np-passkey-item-main small{margin-top:3px;color:var(--np-muted);font-size:11px}.np-passkey-remove{flex:0 0 auto}.np-passkey-remove>summary{cursor:pointer;color:#a32626;font-weight:700;font-size:12px}.np-passkey-remove form{display:grid;gap:8px;min-width:250px;margin-top:10px;padding:12px;border:1px solid var(--np-border);border-radius:9px;background:#fafafa}.np-passkey-remove label{display:grid;gap:4px;font-size:12px}.np-passkey-remove .np-btn{justify-self:start}.np-btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:640px){.np-passkey-head{display:block}.np-passkey-badge{display:inline-block;margin-top:10px}.np-passkey-item{display:block}.np-passkey-remove{margin-top:12px}.np-passkey-remove form{min-width:0}.np-passkey-register .np-btn{width:100%}}


/* v3.10.0 – NØSEN Stoffkartotek inside the employee portal */
.np-stoffkartotek-page{max-width:1180px}
.np-stoffkartotek-shell{min-width:0}
.np-stoffkartotek-shell .nst-front,.np-stoffkartotek-shell .nst-product{margin-top:0}
.np-stoffkartotek-shell .nst-front{max-width:none}
.np-overview-stoff-btn .np-overview-hms-icon{font-size:11px;letter-spacing:-.02em}
@media(max-width:760px){.np-stoffkartotek-page{padding-left:0;padding-right:0}.np-stoffkartotek-page>.np-stoffkartotek-shell{border-radius:0}}

/* v3.11.3: important leader contact reminder in absence forms */
.np-absence-leader-reminder{padding:12px 14px;margin:12px 0 16px;border-left:4px solid #bb701b;background:#fff8e8;color:#423322;line-height:1.5;border-radius:4px}

/* Private department-calendar pilot */
.np-department-panel{padding:20px}.np-department-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}.np-department-controls form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.np-department-controls select{min-width:220px;max-width:100%;padding:9px 12px;border:1px solid #cbd2d9;border-radius:8px;background:#fff}.np-department-controls label{font-weight:650}.np-department-week{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.np-department-week>div{display:flex;gap:8px}.np-department-week a{display:inline-block;padding:8px 10px;border:1px solid #dae0e6;border-radius:7px;text-decoration:none}.np-department-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.np-department-table{width:100%;min-width:790px;border-collapse:separate;border-spacing:0;font-size:13px}.np-department-table th,.np-department-table td{padding:12px 9px;text-align:left;border-bottom:1px solid #e8edf2;vertical-align:top}.np-department-table thead th{background:#f5f7fa;white-space:nowrap}.np-department-table thead small{display:block;font-weight:400;color:#677583}.np-department-table tbody th{min-width:150px;font-weight:650}.np-department-table td strong{display:block;font-size:12px}.np-department-table td small{display:block;margin-top:4px;color:#626e78;font-size:11px}.np-department-table .np-dc-work{background:#eaf6ee}.np-department-table .np-dc-vacation{background:#fff4d7}.np-department-table .np-dc-absence{background:#fdeaea}.np-department-table .np-dc-off{color:#687480;background:#f7f8fa}.np-department-legend{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0;font-size:12px}.np-department-legend span:nth-child(1){color:#247542}.np-department-legend span:nth-child(2){color:#997000}.np-department-legend span:nth-child(3){color:#bf3131}.np-department-legend span:nth-child(4){color:#677583}@media(max-width:650px){.np-department-panel{padding:13px}.np-department-controls form,.np-department-controls select{width:100%}.np-department-week{width:100%;justify-content:space-between}}

/* v3.11.6: focused, readable pilot calendar on desktop and mobile */
.np-department-portal{max-width:1600px;margin-inline:auto}
.np-department-portal .np-page-head{margin-bottom:16px}
.np-department-panel{border:1px solid #e4e8ee;border-radius:12px;box-shadow:0 5px 22px rgba(23,37,54,.045)}
.np-department-controls{padding:0 0 16px;border-bottom:1px solid #edf0f4;align-items:center;margin-bottom:16px}
.np-department-controls form{gap:8px}.np-department-controls label{width:100%;font-size:12px;color:#526172}
.np-department-controls select{min-width:240px;font-weight:600;min-height:42px}
.np-department-week strong{font-size:15px}.np-department-week>span{color:#526172;font-size:13px}
.np-department-week a{background:#fff;font-weight:600;white-space:nowrap}.np-department-week a:hover{background:#f1f4f7}
.np-department-scroll{border:1px solid #e4e8ee;border-radius:9px;scrollbar-color:#bac5d0 transparent}
.np-department-table{min-width:900px;table-layout:fixed}
.np-department-table th,.np-department-table td{border-bottom:1px solid #e8edf2;border-right:1px solid #f0f2f5;padding:12px 10px}
.np-department-table thead th{position:sticky;top:0;z-index:2;background:#eef2f6;color:#283648;text-align:center;font-weight:750}
.np-department-table thead th:first-child{text-align:left;width:172px}
.np-department-table tbody th{width:172px;min-width:172px;background:#fff;position:sticky;left:0;z-index:1;box-shadow:2px 0 5px rgba(10,20,30,.035);overflow-wrap:anywhere}
.np-department-table td{text-align:center;min-width:100px}
.np-department-table td strong{font-size:12px;line-height:1.4}
.np-department-table .np-dc-today{box-shadow:inset 0 0 0 2px #b62039}
.np-department-table thead .np-dc-today{background:#c8102e;color:#fff}
.np-department-table thead .np-dc-today small{color:#fff}
.np-department-legend{border-top:1px solid #edf0f4;padding-top:14px;margin:16px 0 8px}
.np-dc-mobile-hint{display:none}
@media(max-width:800px){
 .np-department-portal .np-page-head h1{font-size:24px}
 .np-department-panel{padding:12px;border-radius:10px}
 .np-department-controls{display:block;margin-bottom:12px}
 .np-department-controls form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}
 .np-department-controls form label{grid-column:1/-1}
 .np-department-controls select{min-width:0;width:100%;height:44px}
 .np-department-week{margin-top:14px;gap:6px 12px}
 .np-department-week>div{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}
 .np-department-week a{text-align:center;font-size:12px;padding:9px 5px}
 .np-dc-mobile-hint{display:block;font-size:12px;color:#596a7b;margin:0 0 8px}
 .np-department-table{min-width:0;width:max-content;table-layout:fixed}
 .np-department-table thead th:first-child,.np-department-table tbody th{width:100px;min-width:100px;max-width:100px;padding:10px 7px;font-size:11px;line-height:1.35}
 .np-department-table thead th:not(:first-child),.np-department-table td{width:126px;min-width:126px;max-width:126px;padding:11px 7px}
 .np-department-table td strong{font-size:11px}
 .np-department-scroll{scroll-behavior:auto;scroll-padding-left:100px}
 .np-department-legend{gap:7px 14px}
}

/* v3.11.7 – calmer, Bootstrap-inspired calendar skin (scoped to frontend) */
.np-department-portal{max-width:1520px}
.np-department-portal .np-page-head{margin-bottom:20px}
.np-department-portal .np-page-head .np-eyebrow{letter-spacing:.09em;font-size:11px}
.np-department-portal .np-page-head h1{letter-spacing:-.035em;font-weight:750}
.np-department-panel{background:#fff;padding:24px;border:1px solid #e5e9ef;border-radius:16px;box-shadow:0 8px 30px rgba(24,39,58,.055)}
.np-department-controls{margin-bottom:18px;padding-bottom:18px;align-items:end;gap:16px;border-bottom:1px solid #eef1f5}
.np-department-controls form{flex:1 1 250px;max-width:340px;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.np-department-controls label{margin:0;font-weight:650;color:#475569;font-size:12px}
.np-department-controls select{width:100%;min-width:0;min-height:44px;padding:10px 36px 10px 13px;background-color:#fff;border:1px solid #d6dce5;border-radius:10px;font-size:14px;color:#17263a;box-shadow:0 1px 2px rgba(22,33,55,.035)}
.np-department-controls select:focus{outline:3px solid rgba(200,16,46,.13);outline-offset:1px;border-color:#ad4d60}
.np-department-week{gap:12px;justify-content:flex-end}
.np-department-week strong{font-size:14px;color:#1b293b}
.np-department-week>span{font-size:12px;color:#64748b}
.np-department-week>div{display:flex;gap:6px}
.np-department-week a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid #dce2e9;border-radius:9px;background:#fff;font-weight:650;color:#334155;transition:background .15s,border-color .15s}
.np-department-week a:hover{background:#f7f8fb;border-color:#bec8d5}
.np-department-week a:nth-child(2){background:#f8f0f2;color:#a20c28;border-color:#f0d8dd}
.np-department-scroll{border:1px solid #e7ebf0;border-radius:12px;background:#fff;box-shadow:none}
.np-department-table{border-spacing:0;font-size:13px}
.np-department-table th,.np-department-table td{border-right:0;border-bottom:1px solid #edf0f4;padding:15px 12px}
.np-department-table tbody tr:last-child th,.np-department-table tbody tr:last-child td{border-bottom:0}
.np-department-table thead th{background:#f8fafc;color:#334155;font-weight:700;font-size:12px;border-bottom:1px solid #e6ebf1}
.np-department-table thead th:first-child{width:190px;text-align:left;padding-left:17px}
.np-department-table thead th small{font-size:11px;color:#8a96a6;margin-top:4px}
.np-department-table tbody th{width:190px;min-width:190px;padding-left:17px;color:#233247;font-size:12px;background:#fff;box-shadow:2px 0 7px rgba(24,39,58,.035)}
.np-department-table tbody tr:nth-child(even) th{background:#fcfdff}
.np-department-table td{position:relative;background:#fff;text-align:center}
.np-department-table td strong{font-size:12px;font-weight:650;color:#344256}
.np-department-table td small{font-size:11px;color:#69788a}
.np-department-table .np-dc-work{background:#f0f8f3}
.np-department-table .np-dc-vacation{background:#fff8e8}
.np-department-table .np-dc-absence{background:#fff0f1}
.np-department-table .np-dc-off{background:#f7f8fa}
.np-department-table .np-dc-absence strong{color:#a32638}
.np-department-table .np-dc-off strong{color:#8994a3;font-weight:500}
.np-department-table thead .np-dc-today{background:#fceff1;color:#a80d2c;box-shadow:inset 0 3px 0 #c8102e}
.np-department-table thead .np-dc-today small{color:#a9475c}
.np-department-table tbody .np-dc-today{box-shadow:inset 1px 0 #f0cad2,inset -1px 0 #f0cad2}
.np-department-legend{display:flex;align-items:center;gap:10px 19px;border-top:0;padding:0;margin:17px 0 0;color:#617084;font-size:12px}
.np-department-legend span{display:inline-flex;align-items:center;gap:7px;color:#617084!important}
.np-department-legend span:before{content:'';width:9px;height:9px;border-radius:3px;background:#7d8999}
.np-department-legend span:nth-child(1):before{background:#74b98c}
.np-department-legend span:nth-child(2):before{background:#e5c16f}
.np-department-legend span:nth-child(3):before{background:#e29ba4}
@media(max-width:800px){
 .np-department-portal .np-page-head{margin-bottom:13px}
 .np-department-panel{padding:14px;border-radius:12px}
 .np-department-controls{margin-bottom:12px;padding-bottom:13px}
 .np-department-controls form{max-width:none;display:flex;gap:6px}
 .np-department-controls form label{width:auto}
 .np-department-week{margin-top:13px;justify-content:space-between}
 .np-department-week>div{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .np-department-week a{padding:9px 5px;font-size:12px;min-height:42px}
 .np-department-table thead th:first-child,.np-department-table tbody th{width:104px;min-width:104px;max-width:104px;padding:11px 8px;font-size:11px}
 .np-department-table thead th:not(:first-child),.np-department-table td{width:128px;min-width:128px;max-width:128px;padding:13px 7px}
 .np-department-table td strong{font-size:11px}
 .np-department-legend{gap:10px 14px}
 .np-dc-mobile-hint{color:#718096;margin:0 0 9px}
}

/* v3.11.9 – distinct amber for partial absence in the private calendar */
.np-department-table .np-dc-partial-absence{background:#fff4df}
.np-department-table .np-dc-partial-absence strong{color:#87520c}
.np-department-table .np-dc-partial-absence small{color:#90682f}
.np-department-legend span:nth-child(4):before{background:#e4a545}
.np-department-legend span:nth-child(5):before{background:#9da7b4}

/* v3.11.10 – B: compact staffing-day summary, scoped to calendar */
.np-staff-summary{margin:0 0 18px}
.np-staff-summary-intro{display:flex;gap:8px 16px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px}
.np-staff-summary-intro strong{font-size:14px;color:#263549}
.np-staff-summary-intro small{font-size:12px;color:#667789}
.np-staff-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.np-staff-day{border:1px solid #e5e9ef;border-radius:10px;background:#fff;padding:10px;min-width:0}
.np-staff-day.is-today{border-color:#d6a4af;box-shadow:inset 0 3px 0 #c8102e}
.np-staff-day-date{display:flex;gap:5px;justify-content:space-between;color:#536276;font-size:12px}
.np-staff-day-count{display:flex;align-items:baseline;gap:5px;margin:7px 0 5px}
.np-staff-day-count strong{font-size:25px;line-height:1;color:#276d42}
.np-staff-day-count span{font-size:11px;color:#47566a}
.np-staff-day-details{display:flex;flex-wrap:wrap;gap:4px}
.np-staff-tag{font-size:10px;line-height:1.3;padding:3px 6px;border-radius:5px;background:#f2f4f7;color:#526273}
.np-staff-tag.np-staff-partial{background:#fff0d5;color:#87520c}
.np-staff-tag.np-staff-absence{background:#fff0f1;color:#a32638}
.np-staff-tag.np-staff-vacation{background:#edf4ff;color:#225a91}
.np-staff-tag.np-staff-unresolved{background:#f0eafa;color:#674394}
.np-staff-muted{font-size:10px;color:#8693a2}
@media(max-width:850px){
 .np-staff-summary-grid{display:flex;overflow-x:auto;gap:8px;padding:2px 1px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .np-staff-day{flex:0 0 125px;min-height:86px}
 .np-staff-summary-intro{display:block}.np-staff-summary-intro small{display:block;margin-top:3px}
}


/* v3.11.14 – cleaner absence edit cards in employee portal */
.np-absence-list{gap:14px}
.np-absence-item{padding:16px 18px!important;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.03)}
.np-absence-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.np-absence-item-main{min-width:0;display:flex;flex-direction:column;gap:4px}
.np-absence-item-main strong{font-size:16px;line-height:1.3;letter-spacing:-.015em}
.np-absence-item-main span{color:#667085;font-size:14px}
.np-absence-item-actions{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.np-absence-item-actions .np-status{margin-top:0}
.np-delete-absence-form{margin:0}
.np-link-danger{font-size:13px;font-weight:600}
.np-absence-note{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid #e6e9ef;background:#f8fafc;display:grid;gap:4px}
.np-absence-note strong{font-size:13px;line-height:1.35}
.np-absence-note span{font-size:13px;color:#344256}
.np-absence-note small{font-size:12px;color:#69788a}
.np-absence-note-pending{background:#fff8e8;border-color:#f0dfb2}
.np-absence-note-admin{background:#f5f7fa;border-color:#e2e7ee}
.np-absence-edit-card{margin-top:14px;border:1px solid #e4e8ef;border-radius:14px;background:#fbfcfe;overflow:hidden}
.np-absence-edit-card>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.np-absence-edit-card>summary::-webkit-details-marker{display:none}
.np-absence-edit-card>summary span{display:flex;flex-direction:column;gap:2px}
.np-absence-edit-card>summary strong{font-size:15px;line-height:1.3}
.np-absence-edit-card>summary small{font-size:12px;color:#6b7280}
.np-absence-edit-card>summary::after{content:"Åpne";font-size:12px;font-weight:700;color:#64748b}
.np-absence-edit-card[open]>summary{border-bottom:1px solid #e6eaf0;background:#fff}
.np-absence-edit-card[open]>summary::after{content:"Lukk"}
.np-absence-edit-body{padding:16px;background:#fff}
.np-absence-edit-form{display:grid;gap:14px}
.np-absence-edit-grid{grid-template-columns:1.2fr 1fr 1fr}
.np-absence-edit-form label{display:block;font-size:13px;font-weight:700}
.np-absence-edit-form select,.np-absence-edit-form input[type=date],.np-absence-edit-form input[type=time]{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #d4dae3;border-radius:10px;background:#fff;font:inherit}
.np-absence-edit-scope{margin-top:2px}
.np-absence-edit-confirm{margin:0}
.np-absence-edit-submit{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid #edf0f4}
.np-absence-edit-submit p{margin:0;max-width:620px;font-size:12px;color:#69788a}
.np-absence-edit-submit .np-btn{flex:0 0 auto;min-width:220px}
@media (max-width:900px){
 .np-absence-edit-grid{grid-template-columns:1fr 1fr}
 .np-absence-edit-grid label:first-child{grid-column:1/-1}
}
@media (max-width:720px){
 .np-absence-history{padding:18px}
 .np-absence-item{padding:15px 14px!important}
 .np-absence-item-head{flex-direction:column;align-items:stretch;gap:10px}
 .np-absence-item-actions{justify-content:flex-start}
 .np-absence-item-main strong{font-size:15px}
 .np-absence-item-main span{font-size:13px}
 .np-absence-edit-card{margin-top:12px}
 .np-absence-edit-card>summary{padding:13px 14px}
 .np-absence-edit-body{padding:14px}
 .np-absence-edit-grid,.np-partial-fields,.np-scope-choice{grid-template-columns:1fr}
 .np-absence-edit-submit{flex-direction:column;align-items:stretch}
 .np-absence-edit-submit .np-btn{width:100%;min-width:0}
 .np-absence-note{padding:11px 12px}
}

/* v3.11.15 – desktop cleanup and purpose-built mobile day view */
.np-dc-mobile-view{display:none}
.np-department-portal .np-page-head{margin-bottom:16px}
.np-department-panel{box-shadow:0 6px 24px rgba(20,33,50,.045)}
.np-staff-summary-intro{padding-bottom:3px}
.np-department-table tbody tr:hover td,.np-department-table tbody tr:hover th{filter:brightness(.985)}
.np-department-table tbody th{font-weight:750}
.np-department-table td strong{font-weight:700}
@media(max-width:800px){
 .np-department-portal .np-page-head p{font-size:14px;line-height:1.45}
 .np-department-portal .np-page-head h1{font-size:26px}
 .np-department-panel{padding:14px}
 .np-department-controls{margin-bottom:14px}
 .np-department-scroll,.np-department-portal .np-staff-summary,.np-department-legend,.np-dc-mobile-hint{display:none!important}
 .np-dc-mobile-view{display:block;min-width:0}
 .np-dc-mobile-view h2{margin:0 0 12px;font-size:15px;color:#334155}
 .np-dc-day-selector{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:15px}
 .np-dc-day-button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:11px 1px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;color:#475569;cursor:pointer;font:inherit}
 .np-dc-day-button strong{font-size:12px}.np-dc-day-button span{font-size:11px}
 .np-dc-day-button.is-selected{background:#fff1f3;border-color:#d58c9b;color:#a30f2c;box-shadow:inset 0 3px 0 #c8102e}
 .np-dc-day-button:focus-visible{outline:3px solid rgba(200,16,46,.3);outline-offset:2px}
 .np-dc-day-panel[hidden]{display:none!important}
 .np-dc-day-overview{display:flex;flex-direction:column;gap:11px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;margin-bottom:12px}
 .np-dc-day-overview>div{display:flex;flex-direction:column;gap:3px}
 .np-dc-day-overview strong{font-size:16px;color:#1e293b}.np-dc-day-overview small{font-size:12px;color:#64748b}
 .np-dc-day-overview>span{font-size:13px;font-weight:750;color:#24683b}
 .np-dc-day-employees{display:grid;gap:9px}
 .np-dc-employee-row{padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;display:grid;gap:9px;min-width:0}
 .np-dc-employee-name{font-weight:750;font-size:14px;color:#263549;overflow-wrap:anywhere}
 .np-dc-employee-status{border-radius:9px;padding:11px 12px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;min-width:0}
 .np-dc-employee-status strong{font-size:14px}.np-dc-employee-status small{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
 .np-dc-employee-status.np-dc-work{background:#f0f8f3;color:#24683b}
 .np-dc-employee-status.np-dc-partial-absence{background:#fff4df;color:#87520c}
 .np-dc-employee-status.np-dc-absence{background:#fff0f1;color:#a32638}
 .np-dc-employee-status.np-dc-vacation{background:#eff6ff;color:#225a91}
 .np-dc-employee-status.np-dc-off{background:#f5f6f8;color:#667085}
 .np-dc-no-employees{font-size:13px;color:#64748b}
}
@media(max-width:380px){.np-dc-day-selector{gap:3px}.np-dc-day-button{padding:9px 1px}.np-dc-day-button strong{font-size:11px}.np-dc-day-button span{font-size:10px}}


/* v3.11.16 – desktop-first simplification; preserve mobile day cards */
.np-dc-desktop-overview{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px;padding:13px 16px;border:1px solid #e5e9ef;border-radius:12px;background:#f9fafc}
.np-dc-desktop-overview-title{display:flex;flex-direction:column;gap:2px}
.np-dc-desktop-overview-title strong{font-size:15px;color:#243246}
.np-dc-desktop-overview-title span{font-size:12px;color:#68778a}
.np-dc-desktop-overview-chips{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.np-dc-desktop-overview-chips>span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:7px;background:#fff;border:1px solid #e2e7ee;font-weight:650;font-size:12px;color:#475569}
.np-dc-desktop-overview-chips .np-dc-desktop-focus{background:#f2f4f7}
.np-dc-desktop-overview-chips .np-dc-overview-work{background:#edf8f0;color:#24683b;border-color:#d5eadb}
.np-dc-desktop-overview-chips .np-dc-overview-partial{background:#fff4df;color:#87520c;border-color:#f4e0b7}
.np-dc-desktop-overview-chips .np-dc-overview-absence{background:#fff0f1;color:#a32638;border-color:#f2dadd}
.np-dc-desktop-overview-chips .np-dc-overview-vacation{background:#eff6ff;color:#225a91;border-color:#dbeafe}
.np-dc-desktop-overview-chips .np-dc-overview-unresolved{background:#f4eefa;color:#674394;border-color:#e7def5}
@media(min-width:801px){
 .np-department-portal .np-staff-summary{display:none}
 .np-department-panel{padding:25px 28px}
 .np-department-controls{margin-bottom:18px;padding-bottom:19px}
 .np-department-scroll{border-radius:12px}
 .np-department-table{font-size:14px;min-width:900px}
 .np-department-table thead th{font-size:13px;padding:16px 12px}
 .np-department-table tbody th{font-size:14px;width:205px;min-width:205px;padding:19px 17px;line-height:1.35}
 .np-department-table thead th:first-child{width:205px}
 .np-department-table td{padding:19px 10px;line-height:1.4}
 .np-department-table td strong{font-size:13px}
 .np-department-table td small{font-size:12px;line-height:1.5}
 .np-department-table tbody tr:nth-child(even) th{background:#f8fafc}
 .np-department-table tbody tr:hover td,.np-department-table tbody tr:hover th{filter:brightness(.975)}
 .np-department-legend{margin-top:16px}
}
@media(max-width:800px){.np-dc-desktop-overview{display:none!important}}

/* NØSEN Lånebil Personal pilot */
.np-loaner-page{max-width:1200px}.np-loaner-page .ntf-public{max-width:100%;font-family:inherit}.np-loaner-page .ntf-public-head{margin-top:0}.np-loaner-page .ntf-box{border-radius:12px}.np-loaner-page .ntf-report-filter{max-width:100%}@media(max-width:720px){.np-loaner-page .ntf-wrap{padding:0}.np-loaner-page .ntf-report-filter{display:grid;grid-template-columns:minmax(0,1fr)}.np-loaner-page .ntf-report-filter>*{min-width:0}}

/* v3.11.18 – desktop nav: single-line brand and responsive overflow in More menu */
.np-portal-nav{gap:16px;padding-left:clamp(14px,2vw,32px);padding-right:clamp(14px,2vw,32px);width:100%;max-width:100%;}
.np-portal-nav>.np-logo{white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:baseline;gap:5px;font-size:17px;letter-spacing:.015em}
.np-portal-nav>nav{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden!important;scrollbar-width:none;gap:3px;flex-wrap:nowrap;white-space:nowrap}
.np-portal-nav>nav::-webkit-scrollbar{display:none!important}
.np-portal-nav>nav>a,.np-portal-nav>nav>.np-nav-disabled{flex:0 0 auto;white-space:nowrap;padding:10px 10px}
.np-portal-nav>.np-portal-more{margin-left:0;flex:0 0 auto}
.np-portal-more-menu>[data-np-nav-marker]{display:none!important}
.np-portal-more-menu>a.is-active{background:#f7e9ec;color:#9f1430;font-weight:750}
.np-portal-more-menu>.np-nav-disabled{display:block;color:#9399a2;padding:10px 11px;font-size:14px}
@media(max-width:760px){
 .np-portal-nav{flex-wrap:wrap;gap:8px 12px;padding:9px 14px}
 .np-portal-nav>.np-logo{flex:1 1 auto}
 .np-portal-nav>.np-portal-more{margin-left:auto}
 .np-portal-nav>nav{order:3;flex:0 0 100%;width:100%;border-top:1px solid #333;padding-top:7px}
 .np-portal-nav>nav>a:nth-child(n+6),.np-portal-nav>nav>.np-nav-disabled:nth-child(n+6){display:flex}
}

/* v3.11.19 – center desktop navigation content within the same 1200px layout as Lånebil.
   Keep the black header background full width without stretching its controls. */
@media (min-width:761px){
  .np-portal-nav{padding-left:max(20px,calc((100% - 1200px)/2));padding-right:max(20px,calc((100% - 1200px)/2));}
}

/* v3.11.20 – reserve viewport width for the vertical scrollbar on short pages. */
html { scrollbar-gutter: stable; }


/* v3.11.21 – shared employee portal desktop content grid.
   1100px usable content + 20px gutters on each side.
   All modules stay in one centered column; wide data tables scroll inside cards. */
@media (min-width:761px) {
  body.np-portal-body .np-portal-main,
  body.np-portal-body .np-portal-main.np-department-portal,
  body.np-portal-body .np-portal-main.np-loaner-page,
  body.np-portal-body .np-portal-main.np-stoffkartotek-page {
    width:100%;
    max-width:1140px;
    margin-left:auto;
    margin-right:auto;
    padding-left:20px;
    padding-right:20px;
    min-width:0;
  }
  .np-portal-main .np-department-panel,
  .np-portal-main .np-stoffkartotek-shell,
  .np-portal-main .ntf-public {min-width:0;max-width:100%;}
  .np-portal-main .np-department-scroll {width:100%;max-width:100%;overflow-x:auto;}
  .np-portal-main .np-vacation-matrix-scroll {max-width:100%;overflow-x:auto;}
}

/* v3.11.24: grouped employee navigation; preserve responsive fitting. */
.np-portal-more-menu .np-portal-menu-section{padding:10px 11px 5px;margin-top:5px;border-top:1px solid #eceef1;font-size:10px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;color:#727782}
.np-portal-more-menu .np-portal-more-head + .np-portal-menu-section{border-top:0;margin-top:0}

/* Frontend administration pilot – isolated from employee portal layout. */
.np-admin-front-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.np-admin-front-grid .np-card{margin:0;min-width:0}
.np-admin-front-tile h2{font-size:19px;margin:0 0 8px}
.np-admin-front-tile p{color:var(--np-muted);margin:0 0 14px}
.np-admin-front-soon{display:inline-block;font-size:12px;font-weight:700;color:#6b7280;background:#f2f3f5;padding:6px 10px;border-radius:16px}
@media(max-width:700px){.np-admin-front-grid{grid-template-columns:1fr}.np-admin-front .np-page-head{display:block}.np-admin-front .np-page-head>.np-btn{margin-top:10px}}

/* Frontend Admin phase 2: shared 1100px portal layout */
.np-admin-front-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.np-admin-front-table{max-width:100%;overflow-x:auto}
.np-admin-front-table table{width:100%;border-collapse:collapse;min-width:420px}
.np-admin-front-table th,.np-admin-front-table td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb}
.np-admin-front-form{display:grid;gap:12px;max-width:480px}
.np-admin-front-form label{display:grid;gap:6px}
.np-admin-front-form input{width:100%;box-sizing:border-box}

/* Frontend Admin phase 4: shared triage and operational overview */
.np-admin-work-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.np-admin-work-summary h2{margin:5px 0 4px}
.np-admin-work-summary p{margin:0;color:var(--np-muted)}
.np-admin-queue-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}
.np-admin-queue-filters .np-btn{white-space:nowrap}
.np-admin-front-table td .np-btn{white-space:nowrap}
@media(max-width:700px){.np-admin-work-summary>.np-btn{width:100%;text-align:center}}


/* NØSEN Personal 3.14.5 — unified frontend-administration design system.
   Deliberately scoped to .np-admin-front; employee portal and embedded plugins untouched. */
.np-admin-front{--npa-border:#e2e6ec;--npa-ink:#1b2735;--npa-muted:#647386;--npa-red:#b51c30;--npa-bg:#f6f8fa;color:var(--npa-ink);min-width:0}
.np-admin-front,.np-admin-front *{box-sizing:border-box}
.np-admin-front .np-page-head{margin-bottom:22px;align-items:flex-start;gap:18px}
.np-admin-front .np-page-head h1{font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.025em}
.np-admin-front .np-page-head p{max-width:66ch;line-height:1.6;color:var(--npa-muted)}
.np-admin-front-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:7px;background:#eef1f5;border:1px solid var(--npa-border);border-radius:14px;margin-bottom:24px}
.np-admin-front-tabs .np-btn{border:0!important;background:transparent!important;color:#425368!important;box-shadow:none!important;border-radius:9px!important;padding:10px 13px!important;font-weight:650;text-decoration:none;line-height:1.3}
.np-admin-front-tabs .np-btn:hover{background:#fff!important;color:#1f2937!important}
.np-admin-front-tabs .np-btn.np-btn-primary{background:#fff!important;color:#a6192e!important;box-shadow:0 1px 5px rgba(25,35,50,.12)!important}
.np-admin-front .np-card{border:1px solid var(--npa-border);border-radius:14px;box-shadow:0 2px 9px rgba(27,39,53,.035);padding:clamp(17px,2.4vw,26px);min-width:0;margin-bottom:17px}
.np-admin-front .np-card h2{font-size:clamp(18px,2vw,22px);letter-spacing:-.015em;margin-top:0}
.np-admin-front .np-card p{line-height:1.55}
.np-admin-front-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.np-admin-front-grid .np-card{margin:0}
.np-admin-front .np-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;min-height:39px;padding:9px 14px;font-weight:650;text-decoration:none;line-height:1.3;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.np-admin-front .np-btn:focus-visible,.np-admin-front :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(181,28,48,.23);outline-offset:2px}
.np-admin-front :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){appearance:none;-webkit-appearance:none;min-height:42px;padding:10px 13px;border:1px solid #cbd3dd;background-color:#fff;color:var(--npa-ink);border-radius:9px;font:inherit;font-size:14px;line-height:1.4;max-width:100%;box-shadow:0 1px 2px rgba(0,0,0,.025)}
.np-admin-front select{padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23536274' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 7 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;cursor:pointer}
.np-admin-front :is(input,select,textarea):disabled{background-color:#f2f4f7;color:#687584;cursor:not-allowed}
.np-admin-front :is(input[type=checkbox],input[type=radio]){accent-color:var(--npa-red);width:17px;height:17px;vertical-align:middle;cursor:pointer}
.np-admin-front :is(label){font-weight:600;color:#344254}
.np-admin-front .np-admin-front-form{width:100%;max-width:620px;gap:14px}
.np-admin-front .np-admin-front-form label{gap:7px}
.np-admin-front .np-admin-front-form :is(input,select,textarea){width:100%}
.np-admin-front .np-admin-front-table{overflow-x:auto;max-width:100%;border:1px solid var(--npa-border);border-radius:11px;background:white;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:12px 0}
.np-admin-front .np-admin-front-table table{border:0!important;box-shadow:none!important;width:100%;min-width:520px;border-collapse:collapse;background:transparent;font-size:14px}
.np-admin-front .np-admin-front-table thead{background:#f3f6f9}
.np-admin-front .np-admin-front-table th{font-size:12px;text-transform:uppercase;letter-spacing:.035em;color:#526174;font-weight:750;white-space:nowrap}
.np-admin-front .np-admin-front-table th,.np-admin-front .np-admin-front-table td{padding:12px 13px;vertical-align:middle;border-bottom:1px solid #e9edf1!important}
.np-admin-front .np-admin-front-table tr:last-child td{border-bottom:0!important}
.np-admin-front .np-admin-front-table tbody tr:nth-child(even){background:#fafbfd}
.np-admin-front .np-admin-front-table tbody tr:hover{background:#f3f7fb}
.np-admin-front .np-admin-front-table td form{margin:0}
.np-admin-front .np-admin-front-table td .np-btn{white-space:nowrap}
.np-admin-front .np-admin-queue-filters{gap:8px;margin:16px 0}
.np-admin-front .np-admin-return{border:1px solid #e0e6ec;border-radius:10px;padding:10px 13px;background:#fafbfc;max-width:100%}
.np-admin-front .np-admin-return summary{cursor:pointer;font-weight:650;color:#344254}
.np-admin-front .np-admin-return[open]{background:white;box-shadow:0 3px 12px rgba(10,25,40,.06)}
.np-admin-front .np-admin-return form{display:grid;gap:10px;padding-top:14px;max-width:460px}
.np-admin-front .np-admin-return form label{display:grid;gap:6px}
.np-admin-front .np-admin-work-summary{background:linear-gradient(120deg,#fff 0%,#f7f8fa 100%);border-left:4px solid var(--npa-red)}
.np-admin-front .np-admin-select-search{margin:10px 0 8px;max-width:460px}
.np-admin-front .np-admin-select-search label{display:block;font-size:13px;margin-bottom:6px}
.np-admin-front .np-admin-select-search input{display:block;width:100%}
.np-admin-front .np-admin-select-search small{display:block;margin-top:5px;color:var(--npa-muted)}
@media(max-width:760px){.np-admin-front-grid{grid-template-columns:1fr}.np-admin-front-tabs{flex-wrap:nowrap;overflow-x:auto;padding:6px;scrollbar-width:thin}.np-admin-front-tabs .np-btn{flex:0 0 auto;white-space:nowrap}.np-admin-front .np-page-head{display:block}.np-admin-front .np-page-head>.np-btn{margin-top:12px}.np-admin-front .np-card{padding:16px}.np-admin-front .np-admin-front-table table{min-width:520px}.np-admin-front .np-admin-work-summary>.np-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.np-admin-front .np-btn{transition:none}}

/* Frontend admin phase 5: employee register and profile */
.np-admin-employee-filter-label{display:block;max-width:440px;margin:12px 0 18px;font-weight:600}
.np-admin-employee-filter-label input{display:block;width:100%;margin-top:7px}
.np-admin-register-table td{vertical-align:middle}
.np-admin-register-table [hidden]{display:none!important}
.np-admin-employee-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.np-admin-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.np-admin-profile-grid label{min-width:0}
.np-admin-profile-grid input{width:100%}
@media(max-width:680px){.np-admin-profile-grid{grid-template-columns:1fr}}

/* v3.15.1: standalone employee detail and clear local navigation */
.np-admin-employee-back{display:inline-flex;align-items:center;margin:0 0 14px;color:#a6192e;font-weight:700;text-decoration:none}
.np-admin-employee-back:hover{text-decoration:underline}
.np-admin-employee-card{min-width:0}
.np-admin-employee-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;padding:7px;background:#eef1f5;border:1px solid #dce2e9;border-radius:13px}
.np-admin-employee-tabs .np-btn{background:transparent!important;border:0!important;color:#425368!important;box-shadow:none!important;text-decoration:none;border-radius:9px!important}
.np-admin-employee-tabs .np-btn.np-btn-primary{background:white!important;color:#a6192e!important;box-shadow:0 1px 5px rgba(25,35,50,.12)!important}
@media(max-width:760px){.np-admin-employee-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.np-admin-employee-tabs .np-btn{white-space:nowrap;flex:0 0 auto}}

/* v3.18.5: clear dedicated leave management sub-navigation */
.np-admin-front .np-leave-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:10px;background:#fff;border:1px solid #dce1e7;border-radius:14px}
.np-admin-front .np-leave-subtabs>a{white-space:nowrap;text-decoration:none}
.np-admin-front .np-leave-subtabs>a.active{background:#202428;color:#fff;border-color:#202428}
@media(max-width:640px){.np-admin-front .np-leave-subtabs>a{flex:1 1 44%;text-align:center}}

/* v3.21.0: consistent, responsive frontend admin navigation and register actions */
.np-admin-context{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 2px;margin:5px 0 18px;font-size:.9rem;color:var(--np-muted,#667085)}
.np-admin-context a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.np-admin-start-actions{display:flex;flex-wrap:wrap;gap:10px}
.np-admin-register-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:15px 0}
.np-admin-register-controls label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;min-width:0}
.np-admin-register-controls input,.np-admin-register-controls select{width:100%;max-width:100%;min-height:40px}
@media(max-width:600px){.np-admin-start-actions>.np-btn{flex:1 1 100%;text-align:center}.np-admin-register-controls label{flex-basis:100%}}

/* v3.26.0 – cohesive frontend admin responsive/accessibility refinement.
   Scoped to administration; no data or authorization behavior changes. */
.np-admin-front{width:100%;min-width:0;overflow-wrap:anywhere}
.np-admin-front :is(.np-admin-front-tabs,.np-admin-employee-tabs){scroll-padding-inline:12px;overscroll-behavior-x:contain}
.np-admin-front :is(.np-admin-front-tabs,.np-admin-employee-tabs) a[aria-current="page"]{background:#fff!important;color:#a6192e!important;box-shadow:0 1px 5px rgba(25,35,50,.12)!important}
.np-admin-front .np-leave-subtabs a[aria-current="page"]{background:#202428!important;color:#fff!important;box-shadow:none!important}
.np-admin-front .np-admin-front-table{position:relative;scrollbar-width:thin;scrollbar-color:#a5b0bf #f3f5f7}
.np-admin-front .np-admin-front-table :is(a,button,input,select):focus-visible{outline:3px solid #bf2947;outline-offset:2px}
.np-admin-front .np-admin-front-table th{text-align:left}
.np-admin-front .np-admin-front-table td{overflow-wrap:normal;word-break:normal}
.np-admin-front .np-admin-front-table td:last-child .np-btn{max-width:100%}
.np-admin-front .np-card :is(input,select,textarea){min-width:0}
.np-admin-front :is(.np-admin-start-actions,.np-admin-queue-filters){align-items:center}
.np-admin-front :is(.np-alert,.np-admin-work-summary){overflow-wrap:break-word}
.np-admin-front :is(.np-btn,button,input,select,textarea):focus-visible{outline:3px solid #b51c30;outline-offset:3px}
@media(max-width:760px){
 .np-admin-front .np-admin-front-tabs,.np-admin-front .np-admin-employee-tabs,.np-admin-front .np-leave-subtabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:7px;max-width:100%;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .np-admin-front .np-admin-front-tabs>a,.np-admin-front .np-admin-employee-tabs>a,.np-admin-front .np-leave-subtabs>a{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;min-height:42px}
 .np-admin-front .np-admin-front-table{margin-inline:0}
 .np-admin-front .np-admin-front-table td,.np-admin-front .np-admin-front-table th{padding:10px 12px}
 .np-admin-front .np-admin-register-controls{align-items:stretch}
 .np-admin-front .np-admin-register-controls label{flex:1 1 100%}
 .np-admin-front .np-admin-start-actions>.np-btn{flex:1 1 100%;min-height:44px}
 .np-admin-front .np-admin-work-summary{padding:16px}
 .np-admin-front .np-admin-context{gap:8px}
}
@media(max-width:420px){
 .np-admin-front .np-page-head h1{font-size:26px}
 .np-admin-front .np-card{padding:14px}
 .np-admin-front .np-admin-front-grid{gap:10px}
 .np-admin-front .np-btn{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 .np-admin-front *{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important}
}

/* v4.0.1 – single-row administration navigation on all screen sizes.
   The menu scrolls within its own container; the page width never grows. */
.np-admin-front > .np-admin-front-tabs {
  display:flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  max-width:100%;
  min-width:0;
  gap:4px;
  padding:6px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.np-admin-front > .np-admin-front-tabs > .np-btn {
  flex:0 0 auto;
  white-space:nowrap;
  padding:9px 10px!important;
}

/* v4.1.0: single-row admin menu without a visible scrollbar. Scrolling remains available. */
.np-admin-front > .np-admin-front-tabs{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-x:auto!important;flex-wrap:nowrap!important}
.np-admin-front > .np-admin-front-tabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
@media(min-width:960px){.np-admin-front > .np-admin-front-tabs{gap:1px!important}.np-admin-front > .np-admin-front-tabs > .np-btn{font-size:13px!important;padding:9px 8px!important}}
.np-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 22px}
.np-feature-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e0e4e9;border-radius:10px;padding:12px;font-weight:600}
.np-feature-row input{width:20px;height:20px;accent-color:#c8102e}
