/* Personlighedstest - grundlæggende styling */
* { box-sizing: border-box; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin: 0;
    background: #f4f6f8;
    color: #222;
    line-height: 1.5;
}
.container { max-width: 900px; margin: 0 auto; padding: 0 20px; }

.site-header {
    background: #1f2a44;
    color: #fff;
    padding: 14px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,.08);
}
.site-header a { color: #fff; text-decoration: none; margin-left: 16px; }
.site-header a:hover { text-decoration: underline; }
.site-header .brand { font-weight: 700; font-size: 1.1rem; margin-left: 0; }
.nav { display: flex; justify-content: space-between; align-items: center; }
.who { margin-right: 8px; color: #cfd6e6; }

main.container { padding-top: 28px; padding-bottom: 40px; }

h1, h2, h3 { color: #1f2a44; }
h1 { margin-top: 0; }

.card {
    background: #fff;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    margin-bottom: 20px;
}

form label { display: block; margin: 12px 0 4px; font-weight: 600; }
input[type=text], input[type=email], input[type=password] {
    width: 100%;
    padding: 10px;
    border: 1px solid #cbd3df;
    border-radius: 4px;
    font-size: 1rem;
}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus {
    outline: 2px solid #3b6ea5;
    border-color: #3b6ea5;
}

button, .btn {
    display: inline-block;
    background: #3b6ea5;
    color: #fff;
    padding: 10px 20px;
    border: 0;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    text-decoration: none;
}
button:hover, .btn:hover { background: #2f5885; }
.btn.secondary { background: #6b7280; }
.btn.secondary:hover { background: #4b5563; }

.error { background: #fdecea; color: #9b1c1c; padding: 12px 16px; border-radius: 4px; margin-bottom: 16px; }
.success { background: #ecfdf3; color: #166534; padding: 12px 16px; border-radius: 4px; margin-bottom: 16px; }

/* Test-spørgsmål */
.question {
    padding: 16px 0;
    border-bottom: 1px solid #e5e7eb;
}
.question:last-child { border-bottom: 0; }
.question-text { font-weight: 600; margin-bottom: 10px; }
.likert { display: flex; gap: 4px; flex-wrap: wrap; }
.likert label {
    flex: 1;
    min-width: 90px;
    background: #f4f6f8;
    padding: 8px 10px;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
    border: 2px solid transparent;
    font-weight: normal;
    margin: 0;
    font-size: .9rem;
}
.likert label:hover { background: #e6ecf3; }
.likert input[type=radio] { display: none; }
.likert input[type=radio]:checked + span {
    color: #3b6ea5;
    font-weight: 700;
}
.likert label:has(input:checked) {
    background: #dbeafe;
    border-color: #3b6ea5;
}

/* Resultat-bar */
.trait-result { margin-bottom: 22px; }
.trait-name { font-weight: 700; color: #1f2a44; }
.trait-desc { color: #4b5563; font-size: .92rem; margin: 4px 0 8px; }
.bar {
    background: #e5e7eb;
    border-radius: 10px;
    height: 22px;
    overflow: hidden;
    position: relative;
}
.bar > div {
    background: linear-gradient(90deg, #3b6ea5, #6ea8dc);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
    padding-right: 10px;
    font-size: .85rem;
    font-weight: 700;
    white-space: nowrap;
}

/* Tabeller (admin) */
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 10px; border-bottom: 1px solid #e5e7eb; }
th { background: #f4f6f8; }
tr:hover td { background: #fafbfc; }

.site-footer {
    text-align: center;
    color: #6b7280;
    padding: 20px 0;
    font-size: .9rem;
}

/* =====================================================================
   Action-knapper i admin-tabeller
   ===================================================================== */
.action-btn {
    display: inline-block;
    padding: 6px 14px;
    background: #3b6ea5;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 4px;
    font-size: .85rem;
    font-weight: 600;
    border: 0;
    cursor: pointer;
    line-height: 1.4;
    white-space: nowrap;
}
.action-btn:hover  { background: #2f5885; }
.action-btn.secondary { background: #6b7280; }
.action-btn.secondary:hover { background: #4b5563; }
.action-btn.danger { background: #b91c1c; }
.action-btn.danger:hover  { background: #991b1b; }
.action-buttons { display: flex; gap: 6px; flex-wrap: wrap; }

.status-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: .8rem;
    font-weight: 700;
}
.status-badge.ok  { background: #d1fae5; color: #065f46; }
.status-badge.bad { background: #fee2e2; color: #991b1b; }

/* =====================================================================
   Personlighedsrapport
   ===================================================================== */
.report-header {
    background: linear-gradient(135deg, #3b6ea5, #1f2a44);
    color: #fff;
    padding: 32px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,.1);
}
.report-header h1 { color: #fff; margin: 0 0 10px; font-size: 1.9rem; }
.report-header .meta { opacity: .92; font-size: 1rem; }
.report-header .meta strong { color: #fff; }

.summary-highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 20px;
}
.highlight {
    background: rgba(255,255,255,.12);
    padding: 12px 16px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
}
.highlight .label { font-size: .8rem; opacity: .85; text-transform: uppercase; letter-spacing: .5px; }
.highlight .value { font-size: 1.1rem; font-weight: 700; margin-top: 4px; }

.chart-container {
    position: relative;
    height: 400px;
    max-width: 500px;
    margin: 20px auto;
}

/* =====================================================================
   COMPACT rapport - ingen chart-bibliotek, ren CSS
   ===================================================================== */
.bar-overview { margin-top: 16px; }
.bar-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 16px;
    align-items: center;
    margin-bottom: 10px;
}
.bar-row .bar-label {
    font-weight: 600;
    color: #1f2a44;
    font-size: .95rem;
}
.bar-track {
    background: #e5e7eb;
    border-radius: 10px;
    height: 26px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
}
.bar-fill {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
    padding-right: 12px;
    font-weight: 700;
    font-size: .85rem;
    white-space: nowrap;
    min-width: 50px;
}

/* CSS-donut - conic-gradient, ingen JS */
.mini-donut {
    --pct: 0;
    --color: #3b6ea5;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: conic-gradient(
        var(--color) 0deg,
        var(--color) calc(var(--pct) * 3.6deg),
        #e5e7eb 0deg
    );
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}
.mini-donut::before {
    content: '';
    position: absolute;
    inset: 10px;
    background: #fff;
    border-radius: 50%;
}
.mini-donut span {
    position: relative;
    z-index: 1;
    font-weight: 800;
    font-size: 1.05rem;
    color: #1f2a44;
}

/* Compact trait-raekker (alle 5 i ét card) */
.trait-row {
    display: flex;
    gap: 22px;
    padding: 18px 0;
    border-bottom: 1px solid #e5e7eb;
    align-items: flex-start;
    page-break-inside: avoid;
    break-inside: avoid;
}
.trait-row:first-child { padding-top: 0; }
.trait-row:last-child  { border-bottom: 0; padding-bottom: 0; }
.trait-info { flex: 1; min-width: 0; }
.trait-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}
.trait-title-row h3 { margin: 0; font-size: 1.1rem; }
.trait-info .desc-text {
    margin: 6px 0;
    color: #374151;
    line-height: 1.5;
    font-size: .95rem;
}

/* "Chips" til typiske traek */
.chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.chip {
    background: #f4f6f8;
    color: #374151;
    padding: 3px 11px;
    border-radius: 14px;
    font-size: .8rem;
    border: 1px solid #e5e7eb;
    white-space: nowrap;
}

.level-badge {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 20px;
    font-weight: 700;
    font-size: .85rem;
    margin-left: 8px;
    vertical-align: middle;
}
.level-badge.low    { background: #fee2e2; color: #991b1b; }
.level-badge.medium { background: #fef3c7; color: #92400e; }
.level-badge.high   { background: #d1fae5; color: #065f46; }

@media (max-width: 640px) {
    .trait-row { flex-direction: column; align-items: center; text-align: center; gap: 12px; }
    .trait-title-row { justify-content: center; }
    .chips { justify-content: center; }
    .bar-row { grid-template-columns: 1fr; gap: 4px; }
    .summary-highlights { grid-template-columns: 1fr; }
}

@media print {
    .site-header, .site-footer, .action-btn, .btn { display: none !important; }
    body { background: #fff; }
    .card { box-shadow: none; border: 1px solid #e5e7eb; page-break-inside: avoid; }
    .trait-row { page-break-inside: avoid; }
    .report-header { background: #1f2a44 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* =====================================================================
   PREMIUM PERSONALITY REPORT 2026
   ===================================================================== */
.ppr-report{--ink:#13213d;--muted:#667085;--line:#e7ebf2;max-width:1160px;margin:0 auto;color:var(--ink)}
.ppr-cover{overflow:hidden;margin-bottom:22px;border-radius:28px;background:linear-gradient(135deg,#09152e,#102a54 58%,#284fbd);color:#fff;box-shadow:0 24px 60px rgba(13,27,54,.2)}
.ppr-cover__topline{display:flex;justify-content:space-between;padding:20px 36px;border-bottom:1px solid rgba(255,255,255,.12);color:#b9c9e8;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ppr-cover__body{display:grid;grid-template-columns:1fr 300px;align-items:center;min-height:330px;padding:42px 48px}
.ppr-overline{display:block;color:#71809b;font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.ppr-cover .ppr-overline{color:#9bb7f4}
.ppr-cover h1{margin:8px 0;color:#fff;font-size:clamp(2.2rem,5vw,4.3rem);line-height:1;letter-spacing:-.05em}.ppr-cover__copy>p{max-width:590px;color:#d6e1f4}
.ppr-identity{display:flex;align-items:center;gap:12px;margin-top:26px}.ppr-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.14);font-weight:900}.ppr-identity strong,.ppr-identity small{display:block}.ppr-identity small{color:#aebfdb}
.ppr-cover__signature{text-align:center}.ppr-signature-ring{--score:0;position:relative;display:grid;place-items:center;width:180px;height:180px;margin:auto;border-radius:50%;background:conic-gradient(#63d7c8 calc(var(--score)*1%),rgba(255,255,255,.13) 0)}.ppr-signature-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#102a54}.ppr-signature-ring div{position:relative}.ppr-signature-ring strong,.ppr-signature-ring span{display:block}.ppr-signature-ring strong{font-size:3.3rem}.ppr-signature-ring span{color:#aebfdb;font-size:.65rem;text-transform:uppercase}
.ppr-cover__footer{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(0,0,0,.14)}.ppr-cover__footer div{padding:18px 26px;border-right:1px solid rgba(255,255,255,.1)}.ppr-cover__footer span,.ppr-cover__footer strong{display:block}.ppr-cover__footer span{color:#91a5c7;font-size:.65rem;text-transform:uppercase}.ppr-cover__footer strong{color:#fff}
.ppr-card{position:relative;margin-bottom:22px;padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(18,33,61,.07)}.ppr-intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.ppr-section-number{position:absolute;right:26px;top:20px;color:#e5eaf2;font-size:2.2rem;font-weight:900}.ppr-card h2{margin:7px 0 14px}
.ppr-summary__note{display:grid;grid-template-columns:150px 1fr;gap:18px;margin-top:22px;padding:16px;border-radius:14px;background:#f5f7fb}.ppr-summary__note p{margin:0}.ppr-rank-list{display:grid;gap:9px}.ppr-rank{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:11px;border-left:3px solid var(--accent);border-radius:12px;background:#f7f9fc}.ppr-rank strong,.ppr-rank small{display:block}.ppr-rank small{color:#7b879a}
.ppr-heading-row{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.ppr-heading-row>div{position:relative}.ppr-heading-row .ppr-section-number{position:static;display:inline-block;margin-right:12px}.ppr-heading-row>p{max-width:330px;color:var(--muted);text-align:right}.ppr-spectrum-list{display:grid;gap:22px}.ppr-spectrum__head{display:flex;justify-content:space-between}.ppr-spectrum__head strong,.ppr-spectrum__head span{display:block}.ppr-spectrum__head b{color:var(--accent);font-size:1.7rem}.ppr-spectrum__track{position:relative;height:12px;margin-top:10px;border-radius:99px;background:#e9edf3}.ppr-spectrum__fill{display:block;width:var(--position);height:100%;border-radius:inherit;background:var(--accent)}.ppr-spectrum__track i{position:absolute;left:var(--position);top:50%;width:21px;height:21px;transform:translate(-50%,-50%);border:5px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 3px 10px rgba(0,0,0,.18)}.ppr-spectrum__scale{display:flex;justify-content:space-between;margin-top:6px;color:#9aa4b4;font-size:.65rem}

/* ==========================================================
   PROFILE DIMENSIONS
   ========================================================== */

.ppr-dimension-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    width:100%;
    max-width:900px;
    margin:0 auto;
}

.ppr-dimension{
    flex:0 0 calc(33.333% - 14px);
    max-width:260px;
    min-width:220px;

    padding:24px;
    text-align:center;

    border:1px solid #e8edf3;
    border-radius:18px;
    background:#fbfcfe;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    box-shadow:0 10px 28px rgba(20,35,65,.06);
}

.ppr-dimension h3{
    margin:15px 0 10px;
    font-size:1rem;
}

.ppr-pill{
    margin-top:10px;
}

@media (max-width:900px){

    .ppr-dimension{
        flex:0 0 calc(50% - 10px);
    }

}

@media (max-width:600px){

    .ppr-dimension{
        flex:0 0 100%;
        max-width:none;
    }

}

/* =====================================================================
   PERSONALITY ADMIN DASHBOARD 2026
   ===================================================================== */
.pad-dashboard{--ink:#13213d;--muted:#69758a;--line:#e6ebf2;max-width:1180px;margin:0 auto;color:var(--ink)}.pad-hero{display:grid;grid-template-columns:1fr 300px;min-height:270px;margin-bottom:20px;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#09152e,#112e5b 58%,#3156d9);color:#fff;box-shadow:0 24px 60px rgba(13,30,63,.2)}.pad-hero__content{align-self:center;padding:40px 46px}.pad-kicker,.pad-eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.pad-kicker{color:#9ab5f5}.pad-hero h1{margin:8px 0 12px;color:#fff;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.pad-hero p{color:#d2def2}.pad-hero__aside{display:grid;place-items:center;background:rgba(0,0,0,.12)}.pad-hero__mark{display:grid;place-items:center;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.1)}.pad-hero__mark strong,.pad-hero__mark span{display:block;text-align:center}.pad-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.pad-kpi{display:grid;grid-template-columns:52px 1fr;gap:13px;padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(22,36,65,.06)}.pad-kpi__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#edf2ff;color:#3156d9;font-weight:900}.pad-kpi small,.pad-kpi strong,.pad-kpi p{display:block}.pad-kpi strong{font-size:1.7rem}.pad-kpi p{margin:0;color:#8994a6;font-size:.7rem}.pad-section{margin-bottom:20px;padding:29px;border:1px solid var(--line);border-radius:23px;background:#fff;box-shadow:0 12px 36px rgba(18,33,61,.07)}.pad-section__heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:23px}.pad-search{min-width:280px}.pad-search input{width:100%;padding:11px;border:1px solid #dbe2ec;border-radius:11px}.pad-user-grid,.pad-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.pad-user-card,.pad-report-card{padding:19px;border:1px solid #e6ebf2;border-radius:18px;background:#fbfcfe}.pad-user-card__top,.pad-report-card__top{display:flex;justify-content:space-between}.pad-avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#173a76;color:#fff;font-weight:900}.pad-status{padding:5px 9px;border-radius:99px;font-size:.65rem}.pad-status--active{background:#e4f7f1;color:#087d68}.pad-status--pending{background:#fff3d9;color:#9a6410}.pad-status--disabled{background:#fce7e7;color:#a43232}.pad-user-card__stats{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;padding:10px;border-radius:12px;background:#f1f4f8}.pad-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.pad-btn{display:grid;place-items:center;padding:9px;border-radius:10px;text-decoration:none;font-size:.72rem;font-weight:800}.pad-btn--primary{background:#173a76;color:#fff}.pad-btn--ghost{border:1px solid #dce3ed;background:#fff;color:#34445f}.pad-report-card__person{display:flex;align-items:center;gap:10px}.pad-report-card__date{margin:14px 0;padding-top:12px;border-top:1px solid #edf0f4}.pad-empty,.pad-no-results{padding:40px;border:1px dashed #dbe2eb;border-radius:16px;text-align:center}

/* =====================================================================
   PREMIUM ADMIN USER 2026
   ===================================================================== */
.pau-page{--ink:#13213d;--muted:#68758a;--line:#e5eaf2;max-width:1180px;margin:0 auto;color:var(--ink)}
.pau-breadcrumb{display:flex;gap:9px;margin:0 0 13px;color:#8a95a7;font-size:.75rem}.pau-breadcrumb a{color:#56657d;text-decoration:none}
.pau-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:205px;margin-bottom:18px;padding:34px 40px;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,#09152e,#102d59 58%,#3156d9);color:#fff;box-shadow:0 24px 60px rgba(14,31,66,.2)}
.pau-hero__identity{display:flex;align-items:center;gap:20px;min-width:0}.pau-avatar{display:grid;place-items:center;flex:0 0 auto;width:84px;height:84px;border-radius:25px;background:rgba(255,255,255,.14);font-size:2rem;font-weight:900}.pau-kicker,.pau-eyebrow{display:block;font-size:.66rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.pau-kicker{color:#9bb6f4}.pau-hero h1{margin:7px 0 5px;color:#fff;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.pau-hero__identity a{color:#cbd9ef;text-decoration:none}.pau-hero__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pau-status,.pau-role{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:rgba(0,0,0,.18);font-size:.7rem;font-weight:800}.pau-status i{width:7px;height:7px;border-radius:50%;background:currentColor}.pau-status--active,.pau-status--verified{color:#75e5cf}.pau-status--disabled{color:#ffaaa7}.pau-status--pending{color:#ffd07a}.pau-role{color:#d9e3f5}
.pau-messages{display:grid;gap:9px;margin-bottom:18px}.pau-message{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:14px 18px;border-radius:13px}.pau-message--success{border:1px solid #bce9dc;background:#e9f8f3;color:#116b59}.pau-message--error{border:1px solid #f0c7c7;background:#fdf0f0;color:#913232}
.pau-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.pau-kpi-grid article{padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(20,35,65,.06)}.pau-kpi-grid span,.pau-kpi-grid strong,.pau-kpi-grid small{display:block}.pau-kpi-grid span{color:#8792a4;font-size:.63rem;font-weight:900;text-transform:uppercase}.pau-kpi-grid strong{margin:5px 0 2px;font-size:1.15rem}.pau-kpi-grid small{color:#939dac;font-size:.68rem}
.pau-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px}.pau-main,.pau-sidebar{display:grid;align-content:start;gap:18px}.pau-panel{padding:27px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 12px 36px rgba(19,34,63,.07)}.pau-panel__heading{display:flex;justify-content:space-between;gap:18px;margin-bottom:21px}.pau-eyebrow{color:#7686a4}.pau-panel h2{margin:5px 0 4px;color:var(--ink);font-size:1.3rem}.pau-panel__heading p,.pau-danger-zone p{margin:0;color:var(--muted);font-size:.79rem}.pau-panel__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f1f4f9}
.pau-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pau-form label{margin:0}.pau-form label>span{display:block;margin-bottom:6px;font-size:.75rem;font-weight:800}.pau-form input[type=password]{width:100%;padding:12px;border:1px solid #d9e1ec;border-radius:11px;background:#f9fafc}.pau-form-actions{display:flex;justify-content:flex-end;margin-top:16px}
.pau-btn{display:inline-grid;place-items:center;min-height:40px;padding:9px 15px;border:1px solid transparent;border-radius:11px;font-size:.73rem;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.pau-btn--primary,.pau-btn--report{background:#173a76;color:#fff}.pau-btn--ghost{border-color:#d9e1eb;background:#fff;color:#34445e}.pau-btn--danger{width:100%;background:#b43737;color:#fff}.pau-btn:disabled,.pau-action:disabled{opacity:.45;cursor:not-allowed}
.pau-action-list{display:grid;gap:9px}.pau-action-list form{margin:0}.pau-action{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px;border:1px solid #e2e7ef;border-radius:12px;background:#fafbfd;color:#273751;text-align:left;cursor:pointer}.pau-action strong,.pau-action small{display:block}.pau-action small{color:#8b96a8}.pau-action--complete{background:#eff9f6;border-color:#caebe2}.pau-danger-zone{border-color:#f0d5d5;background:#fffafa}.pau-danger-zone form{margin-top:16px}.pau-self-note{display:block;margin-top:8px;color:#9b7777}
.pau-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pau-report-card{padding:17px;border-left:3px solid #3156d9;border-radius:15px;background:#fafbfe}.pau-report-card__top{display:flex;justify-content:space-between}.pau-report-card__date{margin:17px 0 12px}.pau-report-card__date span,.pau-report-card__date strong{display:block}.pau-report-card .pau-btn{width:100%}.pau-empty{padding:35px;border:1px dashed #d8e0eb;border-radius:15px;text-align:center}.pau-footer-action{padding:18px 0}

@media(max-width:1050px){.pad-kpi-grid,.pau-kpi-grid{grid-template-columns:repeat(2,1fr)}.pad-user-grid,.pad-report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.ppr-intro-grid,.pau-layout{grid-template-columns:1fr}.ppr-dimension-grid{grid-template-columns:repeat(3,1fr)}.pau-sidebar{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ppr-cover__body,.pad-hero{grid-template-columns:1fr}.ppr-cover__footer{grid-template-columns:1fr}.pad-hero__content{padding:32px 24px}.pad-hero__aside{min-height:170px}.pad-section__heading{display:block}.pad-search{min-width:0;margin-top:15px}.pad-user-grid,.pad-report-grid{grid-template-columns:1fr}.pau-hero{display:block;padding:28px 22px}.pau-hero__badges{justify-content:flex-start;margin-top:22px}.pau-form-grid,.pau-sidebar{grid-template-columns:1fr}.pau-report-grid{grid-template-columns:1fr}}
@media(max-width:480px){.ppr-dimension-grid,.pad-kpi-grid,.pau-kpi-grid{grid-template-columns:1fr}.ppr-heading-row,.ppr-actions{display:block}.pad-card-actions{grid-template-columns:1fr}}
@page{size:A4;margin:10mm}
@media print{.site-header,.site-footer,.no-print,.pau-breadcrumb,.pau-action-center,.pau-danger-zone,.pau-form-actions,.pau-footer-action{display:none!important}.ppr-cover,.pad-hero,.pau-hero{box-shadow:none;background:#102d59!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ppr-card,.pad-section,.pau-panel{box-shadow:none}.pau-layout{grid-template-columns:1fr}.pau-report-grid{grid-template-columns:repeat(3,1fr)}}

/* =====================================================================
   PREMIUM TEST ASSESSMENT 2026
   Isoleret under .pta-page. Eksisterende CSS ovenfor er bevaret.
   ===================================================================== */
.pta-page {
    --pta-ink: #13213d;
    --pta-muted: #68758a;
    --pta-line: #e4eaf2;
    --pta-blue: #3156d9;
    --pta-navy: #0b1933;
    max-width: 1160px;
    margin: 0 auto;
    color: var(--pta-ink);
}
.pta-page *, .pta-page *::before, .pta-page *::after { box-sizing: border-box; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.pta-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    min-height: 330px;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(135deg, #09152e 0%, #102c57 58%, #3156d9 100%);
    color: #fff;
    box-shadow: 0 26px 65px rgba(13, 29, 62, .22);
}
.pta-hero__content { position: relative; z-index: 2; align-self: center; padding: 44px 48px; }
.pta-kicker { display: block; color: #9eb9f5; font-size: .68rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.pta-hero h1 { max-width: 720px; margin: 11px 0 15px; color: #fff; font-size: clamp(2.2rem, 5vw, 4.2rem); line-height: 1; letter-spacing: -.055em; }
.pta-hero__content > p { max-width: 660px; margin: 0; color: #d6e1f4; font-size: 1.03rem; line-height: 1.65; }
.pta-hero__meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.pta-hero__meta span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 99px; background: rgba(0,0,0,.14); color: #b9c9e5; font-size: .69rem; }
.pta-hero__meta strong { color: #fff; }
.pta-hero__visual { position: relative; display: grid; place-items: center; overflow: hidden; border-left: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.1); }
.pta-hero__ring { position: relative; z-index: 2; display: grid; place-items: center; width: 150px; height: 150px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 13px rgba(255,255,255,.035), 0 22px 45px rgba(0,0,0,.18); backdrop-filter: blur(8px); }
.pta-hero__ring span { color: #fff; font-size: 2.7rem; font-weight: 900; letter-spacing: -.05em; }
.pta-orbit { position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.pta-orbit--one { width: 300px; height: 300px; }
.pta-orbit--two { width: 220px; height: 220px; }

.pta-privacy-note { display: grid; grid-template-columns: 42px 1fr; gap: 15px; align-items: center; margin-bottom: 18px; padding: 16px 19px; border: 1px solid #dce5f2; border-radius: 16px; background: #f7f9fd; }
.pta-privacy-note__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #e8efff; color: #3156d9; font-family: Georgia, serif; font-weight: 900; }
.pta-privacy-note strong, .pta-privacy-note p { display: block; }
.pta-privacy-note strong { color: #263750; font-size: .78rem; }
.pta-privacy-note p { margin: 2px 0 0; color: #6d798d; font-size: .76rem; }

.pta-progress { position: sticky; top: 10px; z-index: 40; margin-bottom: 18px; padding: 16px 20px; border: 1px solid var(--pta-line); border-radius: 17px; background: rgba(255,255,255,.96); box-shadow: 0 10px 32px rgba(20,35,65,.1); backdrop-filter: blur(12px); }
.pta-progress__text { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 9px; }
.pta-progress__text div > span { display: block; color: #8792a4; font-size: .62rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.pta-progress__text strong { display: block; margin-top: 2px; color: #30405a; font-size: .79rem; }
.pta-progress__text > span { color: #3156d9; font-size: 1.15rem; font-weight: 900; }
.pta-progress__track { height: 9px; overflow: hidden; border-radius: 99px; background: #e8edf4; }
.pta-progress__track > span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3156d9, #59cbbb); transition: width .25s ease; }
.pta-progress.is-complete { border-color: #bfe6dc; }
.pta-progress.is-complete .pta-progress__text > span { color: #138b76; }

.pta-question-list { display: grid; gap: 15px; }
.pta-question-card { position: relative; padding: 25px 27px 27px; border: 1px solid var(--pta-line); border-radius: 21px; background: #fff; box-shadow: 0 11px 34px rgba(20,34,63,.06); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.pta-question-card:hover { transform: translateY(-2px); border-color: #d1dbea; box-shadow: 0 17px 38px rgba(20,34,63,.09); }
.pta-question-card.is-answered { border-color: #cedbf5; }
.pta-question-card.is-answered::before { content: ''; position: absolute; left: 0; top: 22px; bottom: 22px; width: 3px; border-radius: 0 3px 3px 0; background: #3156d9; }
.pta-question-card.has-error { border-color: #d85b5b; animation: pta-shake .28s linear 2; }
@keyframes pta-shake { 0%,100% { transform: translateX(0); } 33% { transform: translateX(-5px); } 66% { transform: translateX(5px); } }
.pta-question-card__header { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 9px; }
.pta-question-card__header span { color: #3156d9; font-size: .66rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.pta-question-card__header small { color: #a0a9b7; font-size: .68rem; }
.pta-question-card h2 { max-width: 880px; margin: 0 0 22px; color: #1b2b47; font-size: 1.13rem; line-height: 1.5; letter-spacing: -.018em; }
.pta-likert { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; min-width: 0; margin: 0; padding: 0; border: 0; }
.pta-option { min-width: 0; margin: 0; cursor: pointer; }
.pta-option input { position: absolute; opacity: 0; pointer-events: none; }
.pta-option__surface { position: relative; display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; min-height: 64px; padding: 10px 11px; border: 1px solid #dce3ed; border-radius: 14px; background: #fafbfd; color: #59667a; transition: .18s ease; }
.pta-option__surface i { display: block; width: 21px; height: 21px; border: 2px solid #c6cfdd; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px #fff; }
.pta-option__surface strong { min-width: 0; font-size: .72rem; line-height: 1.25; }
.pta-option__surface small { color: #9aa4b4; font-size: .65rem; }
.pta-option:hover .pta-option__surface { border-color: #9eb1d4; background: #f5f8fd; transform: translateY(-1px); }
.pta-option input:focus-visible + .pta-option__surface { outline: 3px solid rgba(49,86,217,.22); outline-offset: 2px; }
.pta-option input:checked + .pta-option__surface { border-color: #3156d9; background: linear-gradient(135deg, #3156d9, #456de1); color: #fff; box-shadow: 0 10px 22px rgba(49,86,217,.22); transform: translateY(-2px); }
.pta-option input:checked + .pta-option__surface i { border-color: #fff; background: #6de0cf; }
.pta-option input:checked + .pta-option__surface small { color: #dce6ff; }

.pta-submit-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 18px; padding: 30px 32px; border: 1px solid var(--pta-line); border-radius: 22px; background: linear-gradient(135deg, #fff, #f7f9fd); box-shadow: 0 13px 38px rgba(20,34,63,.07); }
.pta-submit-card h2 { margin: 6px 0 5px; color: #172842; font-size: 1.45rem; }
.pta-submit-card p { margin: 0; color: #738095; font-size: .8rem; }
.pta-submit-button { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-width: 245px; min-height: 52px; padding: 12px 17px; border: 0; border-radius: 13px; background: #173a76; color: #fff; font: inherit; font-size: .83rem; font-weight: 850; cursor: pointer; box-shadow: 0 11px 24px rgba(23,58,118,.21); transition: .18s ease; }
.pta-submit-button:hover:not(:disabled) { background: #102c5b; transform: translateY(-2px); }
.pta-submit-button:disabled { background: #cbd2dc; box-shadow: none; cursor: not-allowed; }
.pta-submit-button b { font-size: 1.15rem; }
.pta-empty { padding: 45px 20px; border: 1px dashed #d5deea; border-radius: 20px; background: #fafbfd; text-align: center; }
.pta-empty strong { color: #263750; }
.pta-empty p { margin: 5px 0 0; color: #7c8799; }

@media (max-width: 980px) {
    .pta-hero { grid-template-columns: 1fr 230px; }
    .pta-likert { grid-template-columns: repeat(5, 1fr); }
    .pta-option__surface { grid-template-columns: 1fr; justify-items: center; min-height: 91px; text-align: center; }
}
@media (max-width: 720px) {
    .pta-hero { grid-template-columns: 1fr; }
    .pta-hero__content { padding: 34px 25px; }
    .pta-hero__visual { min-height: 180px; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
    .pta-likert { grid-template-columns: 1fr; }
    .pta-option__surface { grid-template-columns: 25px 1fr auto; justify-items: stretch; min-height: 55px; text-align: left; }
    .pta-submit-card { display: grid; }
    .pta-submit-button { width: 100%; }
}
@media (max-width: 480px) {
    .pta-hero { border-radius: 20px; }
    .pta-hero h1 { font-size: 2.2rem; }
    .pta-hero__meta { display: grid; }
    .pta-privacy-note { grid-template-columns: 1fr; }
    .pta-question-card { padding: 21px 17px; }
    .pta-progress { top: 5px; padding: 14px 15px; }
    .pta-progress__text { align-items: center; }
}
@media print {
    .pta-hero { min-height: 0; border-radius: 0; box-shadow: none; background: #102c57 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .pta-hero__visual, .pta-progress, .pta-submit-card { display: none !important; }
    .pta-question-card { padding: 5mm; box-shadow: none; break-inside: avoid; page-break-inside: avoid; }
    .pta-option__surface { min-height: 12mm; box-shadow: none !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
/* =====================================================================
   PREMIUM HOME LANDING 2026
   Isoleret under .phl-page
   ===================================================================== */

.phl-page{
    max-width:1180px;
    margin:0 auto;
}

.phl-hero{
    position:relative;
    display:grid;
    grid-template-columns:1fr 320px;
    min-height:380px;
    margin-bottom:25px;
    overflow:hidden;
    border-radius:30px;
    background:linear-gradient(
        135deg,
        #09152e 0%,
        #102d59 58%,
        #3156d9 100%
    );
    color:#fff;
    box-shadow:0 28px 70px rgba(13,30,63,.22);
}

.phl-content{
    position:relative;
    z-index:2;
    align-self:center;
    padding:50px;
}

.phl-kicker{
    display:block;
    color:#9ab5f5;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:900;
    font-size:.68rem;
}

.phl-hero h1{
    margin:12px 0 18px;
    color:#fff;
    font-size:clamp(2.4rem,5vw,4.8rem);
    line-height:1;
    letter-spacing:-.05em;
}

.phl-hero p{
    max-width:650px;
    margin:0;
    color:#d6e1f4;
    font-size:1.05rem;
    line-height:1.7;
}

.phl-cta{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}

.phl-btn-primary{
    background:#fff;
    color:#173a76 !important;
    font-weight:700;
}

.phl-btn-primary:hover{
    background:#eef3ff;
}

.phl-btn-secondary{
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.15);
}

.phl-side{
    position:relative;
    display:grid;
    place-items:center;
    border-left:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.08);
}

.phl-side::before{
    content:'';
    position:absolute;
    width:340px;
    height:340px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}

.phl-side::after{
    content:'';
    position:absolute;
    width:220px;
    height:220px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}

.phl-ring{
    position:relative;
    z-index:2;
    width:180px;
    height:180px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.08);
    display:grid;
    place-items:center;
    box-shadow:
        inset 0 0 0 10px rgba(255,255,255,.03),
        0 20px 50px rgba(0,0,0,.15);
}

.phl-ring span{
    font-size:4rem;
    font-weight:900;
    color:#fff;
}

.phl-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-bottom:25px;
}

.phl-stat{
    background:#fff;
    border-radius:22px;
    padding:24px;
    text-align:center;
    box-shadow:0 12px 32px rgba(20,35,65,.06);
}

.phl-stat strong{
    display:block;
    margin-bottom:5px;
    color:#3156d9;
    font-size:2rem;
    font-weight:900;
}

.phl-stat span{
    color:#68758a;
    font-size:.85rem;
}

.phl-traits{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:15px;
    margin-bottom:25px;
}

.phl-trait{
    padding:24px 20px;
    border-radius:22px;
    background:#fff;
    text-align:center;
    box-shadow:0 12px 32px rgba(20,35,65,.06);
    transition:.18s ease;
}

.phl-trait:hover{
    transform:translateY(-3px);
}

.phl-trait h3{
    margin:0 0 10px;
    color:#1f2a44;
    font-size:1rem;
}

.phl-trait p{
    margin:0;
    color:#6b7280;
    font-size:.85rem;
    line-height:1.55;
}

.phl-process{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-bottom:25px;
}

.phl-step{
    padding:28px;
    border-radius:22px;
    background:#fff;
    text-align:center;
    box-shadow:0 12px 32px rgba(20,35,65,.06);
}

.phl-step-number{
    width:42px;
    height:42px;
    margin:0 auto 14px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#3156d9;
    color:#fff;
    font-weight:800;
}

.phl-step h3{
    margin:0 0 10px;
}

.phl-step p{
    margin:0;
    color:#6b7280;
}

.phl-final{
    margin-top:10px;
}

.phl-final-card{
    text-align:center;
    padding:50px;
    border-radius:28px;
    background:#fff;
    box-shadow:0 15px 40px rgba(20,35,65,.08);
}

.phl-final-card h2{
    margin:10px 0 24px;
    font-size:2rem;
}

@media(max-width:1000px){

    .phl-traits{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:800px){

    .phl-hero{
        grid-template-columns:1fr;
    }

    .phl-side{
        min-height:220px;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.08);
    }

    .phl-process,
    .phl-stats{
        grid-template-columns:1fr;
    }

}

@media(max-width:640px){

    .phl-content{
        padding:30px 24px;
    }

    .phl-traits{
        grid-template-columns:1fr;
    }

    .phl-final-card{
        padding:30px 20px;
    }

    .phl-cta{
        flex-direction:column;
    }

    .phl-cta .btn{
        width:100%;
        text-align:center;
    }

}.phl-hero{
    min-height:260px;
}

.phl-hero__meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:25px;
}

.phl-hero__meta span{
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#d9e3f5;
    font-size:.75rem;
}

.phl-trait-icon{
    font-size:2rem;
    margin-bottom:15px;
}

.phl-trait{
    border-top:4px solid #3156d9;
}

.phl-report-preview{
    margin-bottom:25px;
}

.phl-preview-card{
    background:#fff;
    border-radius:24px;
    padding:30px;
    box-shadow:0 12px 32px rgba(20,35,65,.06);
}

.phl-preview-row{
    display:grid;
    grid-template-columns:220px 1fr 60px;
    gap:12px;
    align-items:center;
    margin-bottom:14px;
}

.phl-preview-bar{
    height:10px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
}

.phl-preview-bar div{
    height:100%;
    background:linear-gradient(
        90deg,
        #3156d9,
        #58cbbb
    );
}
/* =====================================================================
   PREMIUM HOME LANDING 2026 - FINAL LAYOUT OVERRIDES
   Matcher den aktuelle index.php uden phl-side/phl-ring.
   ===================================================================== */
body:has(.phl-page) {
    background: linear-gradient(180deg, #f8fafc 0%, #eef3f9 100%);
}
main.container:has(.phl-page) {
    max-width: 1320px;
    padding-left: 28px;
    padding-right: 28px;
}
.phl-page {
    --phl-ink: #13213d;
    --phl-muted: #68758a;
    --phl-line: #e4eaf2;
    max-width: 1240px;
    margin: 0 auto;
    color: var(--phl-ink);
}
.phl-page *, .phl-page *::before, .phl-page *::after { box-sizing: border-box; }

.phl-page .phl-hero {
    position: relative;
    display: block;
    min-height: 0;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(125deg, #09152e 0%, #102b56 62%, #3156d9 100%);
    box-shadow: 0 25px 60px rgba(13, 30, 63, .20);
}
.phl-page .phl-hero::before {
    content: '';
    position: absolute;
    right: -115px;
    top: -235px;
    width: 470px;
    height: 470px;
    border: 72px solid rgba(255,255,255,.05);
    border-radius: 50%;
}
.phl-page .phl-hero::after {
    content: '';
    position: absolute;
    right: 19%;
    bottom: -210px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 50%;
}
.phl-page .phl-content {
    position: relative;
    z-index: 2;
    max-width: 980px;
    padding: 48px 52px 44px;
}
.phl-page .phl-kicker {
    display: block;
    color: #9eb9f5;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.phl-page .phl-hero h1 {
    max-width: 800px;
    margin: 11px 0 16px;
    color: #fff;
    font-size: clamp(2.35rem, 4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -.052em;
}
.phl-page .phl-hero p {
    max-width: 740px;
    margin: 0;
    color: #d5e0f2;
    font-size: 1rem;
    line-height: 1.65;
}
.phl-page .phl-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 25px;
}
.phl-page .phl-cta .btn {
    min-width: 145px;
    padding: 12px 20px;
    border-radius: 12px;
    font-size: .86rem;
    font-weight: 800;
    text-align: center;
}
.phl-page .phl-btn-primary {
    background: #fff;
    color: #173a76 !important;
    box-shadow: 0 9px 24px rgba(0,0,0,.14);
}
.phl-page .phl-btn-primary:hover { background: #edf3ff; transform: translateY(-1px); }
.phl-page .phl-btn-secondary {
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}
.phl-page .phl-btn-secondary:hover { background: rgba(255,255,255,.15) !important; }
.phl-page .phl-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 27px;
}
.phl-page .phl-hero__meta span {
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    background: rgba(2,12,29,.18);
    color: #c9d7ee;
    font-size: .7rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.phl-page .phl-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.phl-page .phl-stat {
    padding: 20px 22px;
    border: 1px solid var(--phl-line);
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 28px rgba(20,35,65,.055);
    text-align: left;
}
.phl-page .phl-stat strong {
    display: block;
    margin: 0 0 3px;
    color: #3156d9;
    font-size: 1.7rem;
    line-height: 1;
}
.phl-page .phl-stat span { color: #758195; font-size: .77rem; }

.phl-page .phl-traits {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 20px;
}
.phl-page .phl-trait {
    position: relative;
    min-width: 0;
    padding: 21px 18px;
    overflow: hidden;
    border: 1px solid var(--phl-line);
    border-top: 0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(20,35,65,.055);
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease;
}
.phl-page .phl-trait::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg, #3156d9, #59cbbb);
}
.phl-page .phl-trait:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(20,35,65,.09); }
.phl-page .phl-trait-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin: 0 0 14px;
    border-radius: 13px;
    background: #eef3ff;
    font-size: 1.3rem;
}
.phl-page .phl-trait h3 { min-height: 42px; margin: 0 0 8px; color: #1d2d49; font-size: .91rem; line-height: 1.3; }
.phl-page .phl-trait p { margin: 0; color: #708095; font-size: .75rem; line-height: 1.55; }

.phl-page .phl-report-preview { margin-bottom: 20px; }
.phl-page .phl-preview-card {
    position: relative;
    overflow: hidden;
    padding: 31px 34px;
    border: 1px solid var(--phl-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 13px 36px rgba(20,35,65,.065);
}
.phl-page .phl-preview-card::after {
    content: 'EXAMPLE';
    position: absolute;
    right: 28px;
    top: 27px;
    color: #e7ebf3;
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.phl-page .phl-preview-card h2 { position: relative; z-index: 1; margin: 6px 0 23px; color: #172842; font-size: 1.5rem; }
.phl-page .phl-preview-row {
    display: grid;
    grid-template-columns: minmax(190px, 240px) minmax(180px, 1fr) 52px;
    gap: 15px;
    align-items: center;
    margin-bottom: 13px;
}
.phl-page .phl-preview-row:last-child { margin-bottom: 0; }
.phl-page .phl-preview-row > span { color: #4e5c72; font-size: .81rem; font-weight: 700; }
.phl-page .phl-preview-row > strong { color: #3156d9; font-size: .82rem; text-align: right; }
.phl-page .phl-preview-bar { height: 9px; overflow: hidden; border-radius: 999px; background: #e8edf4; }
.phl-page .phl-preview-bar > div { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3156d9, #59cbbb); }

.phl-page .phl-process {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.phl-page .phl-step {
    position: relative;
    padding: 22px 22px 22px 72px;
    border: 1px solid var(--phl-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(20,35,65,.05);
    text-align: left;
}
.phl-page .phl-step-number {
    position: absolute;
    left: 20px;
    top: 22px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin: 0;
    border-radius: 12px;
    background: #173a76;
    color: #fff;
    font-weight: 900;
}
.phl-page .phl-step h3 { margin: 0 0 5px; color: #1c2c47; font-size: .92rem; }
.phl-page .phl-step p { margin: 0; color: #758195; font-size: .76rem; }

.phl-page .phl-final { margin-top: 0; }
.phl-page .phl-final-card {
    position: relative;
    overflow: hidden;
    padding: 37px 40px;
    border-radius: 22px;
    background: linear-gradient(135deg, #10294f, #244bb2);
    box-shadow: 0 18px 42px rgba(20,43,95,.18);
    text-align: left;
}
.phl-page .phl-final-card::after { content: ''; position: absolute; right: -75px; top: -120px; width: 260px; height: 260px; border: 42px solid rgba(255,255,255,.055); border-radius: 50%; }
.phl-page .phl-final-card .phl-kicker { color: #9eb9f5; }
.phl-page .phl-final-card h2 { position: relative; z-index: 1; max-width: 650px; margin: 7px 0 20px; color: #fff; font-size: 1.75rem; line-height: 1.2; }
.phl-page .phl-final-card .btn { position: relative; z-index: 1; }

@media (max-width: 1040px) {
    .phl-page .phl-traits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    main.container:has(.phl-page) { padding-left: 18px; padding-right: 18px; }
    .phl-page .phl-content { padding: 36px 27px; }
    .phl-page .phl-stats, .phl-page .phl-process { grid-template-columns: 1fr; }
    .phl-page .phl-traits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .phl-page .phl-preview-row { grid-template-columns: 1fr 48px; gap: 8px 12px; }
    .phl-page .phl-preview-row > span { grid-column: 1 / -1; }
    .phl-page .phl-preview-card::after { display: none; }
}
@media (max-width: 500px) {
    .phl-page .phl-hero { border-radius: 20px; }
    .phl-page .phl-hero h1 { font-size: 2.15rem; }
    .phl-page .phl-traits { grid-template-columns: 1fr; }
    .phl-page .phl-cta { display: grid; }
    .phl-page .phl-cta .btn { width: 100%; }
    .phl-page .phl-preview-card, .phl-page .phl-final-card { padding: 25px 20px; }
}
.phl-viewport{
    max-width:1400px;
    margin:0 auto;
    padding:30px;
}

.phl-hero-v2{
    border-radius:32px;
    overflow:hidden;
    padding:80px;
    background:
        radial-gradient(circle at top right,
        rgba(90,200,255,.18),
        transparent 35%),
        linear-gradient(
            135deg,
            #081327,
            #102b56,
            #3156d9
        );
    color:#fff;
}

.phl-hero-v2 h1{
    font-size:clamp(3rem,6vw,6rem);
    line-height:.95;
    max-width:900px;
    color:#fff;
}

.phl-hero-v2 p{
    max-width:700px;
    font-size:1.2rem;
    color:#d8e4f7;
}

.phl-kpis{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin:20px 0;
}

.phl-kpis article{
    background:#fff;
    border-radius:24px;
    padding:30px;
}

.phl-traits-v2{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px;
    margin-bottom:20px;
}

.phl-trait-card{
    background:#fff;
    border-radius:20px;
    padding:25px;
    border-top:4px solid #3156d9;
}

.phl-preview-card{
    background:#fff;
    border-radius:24px;
    padding:35px;
}

.phl-bar{
    height:10px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
}

.phl-bar div{
    height:100%;
    background:linear-gradient(
        90deg,
        #3156d9,
        #56d1c5
    );
}

.ppr-dimension{
    text-align:center;
    min-height:220px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ppr-dimension h3{
    margin:15px 0 12px;
    font-size:1rem;
}

.ppr-pill{
    margin:10px auto 0;
}

/* ==========================================================
   PREMIUM REPORT WIDE EDITION 2026
   ========================================================== */

body:has(.ppr-report) main.container{
    max-width:1900px !important;
    width:100%;
    padding-left:30px;
    padding-right:30px;
}

body:has(.ppr-report) .container{
    max-width:1900px !important;
}

.ppr-report{
    max-width:1750px !important;
    width:100%;
    margin:0 auto;
}

/* større rapportkort */
.ppr-card{
    padding:38px;
}

/* bredere tabel */
.ppr-balance-wrap{
    width:100%;
    overflow-x:auto;
}

.ppr-balance-table{
    width:100%;
    min-width:1500px;
}

.ppr-balance-table th{
    padding:18px;
}

.ppr-balance-table td{
    padding:18px;
}

/* profilkort */
.ppr-dimension-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:24px;
    max-width:1300px;
    margin:0 auto;
}

.ppr-dimension{
    flex:0 0 calc(33.333% - 16px);
    max-width:340px;
    min-width:280px;
    min-height:260px;
    padding:30px;
}

/* bredere cover */
.ppr-cover__body{
    grid-template-columns:1fr 360px;
    padding:55px 65px;
}

/* store skærme */
@media (min-width:1600px){

    .ppr-report{
        max-width:1850px !important;
    }

    .ppr-card{
        padding:44px;
    }

}

/* tablet */
@media (max-width:1200px){

    .ppr-dimension{
        flex:0 0 calc(50% - 12px);
    }

}

/* mobil */
@media (max-width:700px){

    .ppr-dimension{
        flex:0 0 100%;
        max-width:none;
    }

    .ppr-balance-table{
        min-width:1000px;
    }

}

/* ==========================================================
   PREMIUM REPORT PRINT EDITION 2026
   ========================================================== */

@media print {

    @page{
        size:A4;
        margin:12mm;
    }

    html,
    body{
        background:#ffffff !important;
        color:#111111 !important;
        font-size:11pt;
    }

    /* skjul navigation mm */

    .site-header,
    .site-footer,
    .no-print,
    .ppr-actions,
    .btn,
    button{
        display:none !important;
    }

    /* brug hele siden */

    .container,
    .ppr-report{
        max-width:none !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    /* forsiden */

    .ppr-cover{
        page-break-after:always;
        border-radius:0;
        box-shadow:none;

        background:#102d59 !important;

        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
    }

    .ppr-cover h1{
        font-size:32pt;
        margin-top:40px;
    }

    .ppr-cover__body{
        min-height:220mm;
   