
:root{--blue:#0b355f;--sky:#09a9df;--blue2:#21618c;--ink:#242424;--muted:#6f7780;--line:#dfe4e8;--bg:#f5f7f9;--card:#fff;--green:#69be28;--yellow:#f2b705;--purple:#8f5ca5;--shadow:0 8px 28px rgba(21,46,67,.07)}
*{box-sizing:border-box}html{font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;line-height:1.48}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;color:var(--blue);font-size:1.18rem;text-decoration:none}.target-logo{width:132px;height:auto;display:block}.target-logo-text{font-weight:800;color:var(--blue);letter-spacing:.02em}.target-logo-text span{color:var(--sky)}.main-content{padding:34px 0 60px;min-height:calc(100vh - 130px)}.site-footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);padding:18px 0;font-size:.85rem}.footer-inner{display:flex;justify-content:space-between}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:28px}.narrow{max-width:680px;margin:38px auto}.eyebrow{font-weight:800;color:var(--sky);margin:0 0 6px}.muted{color:var(--muted)}h1{color:var(--blue);font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.16;margin:.15em 0 .55em}h2{font-size:1.25rem;color:#172d43;margin:.1em 0 .7em}h3{color:var(--blue);margin:.2em 0 .4em}p{margin:.6em 0 1em}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#eef5f9;color:var(--blue);border:1px solid #cbdce7}.btn.small{padding:8px 11px;font-size:.86rem}.actions{display:flex;gap:10px;flex-wrap:wrap}.stack{display:grid;gap:12px}label{font-weight:650}input,textarea,select{width:100%;font:inherit;padding:12px 13px;border:1px solid #bfc8cf;border-radius:8px;background:#fff}input:focus,textarea:focus,select:focus{outline:3px solid rgba(9,169,223,.15);border-color:var(--sky)}.hero{border-top:6px solid var(--sky);display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center;padding:40px}.hero p.lead{font-size:1.08rem;color:#405a71}.triangle{width:300px;height:260px;margin:auto;position:relative}.tri{position:absolute;width:0;height:0;border-left:86px solid transparent;border-right:86px solid transparent;border-bottom:150px solid;opacity:.95}.tri.a{left:63px;top:0;border-bottom-color:var(--sky)}.tri.b{left:4px;top:80px;border-bottom-color:var(--green);transform:rotate(-120deg)}.tri.c{right:4px;top:80px;border-bottom-color:var(--yellow);transform:rotate(120deg)}.tri.center{left:63px;top:72px;border-left-width:60px;border-right-width:60px;border-bottom-width:104px;border-bottom-color:var(--blue);z-index:2}.triangle-label{position:absolute;z-index:5;font-weight:800;color:#fff;text-align:center;font-size:.84rem}.tl1{top:87px;left:104px}.tl2{top:143px;left:18px}.tl3{top:143px;right:12px}.tl4{top:123px;left:103px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.info-card{border-top:4px solid var(--sky)}.definition-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.definition{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.definition strong{color:var(--blue)}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.progress-track{height:8px;background:#e1e8ed;border-radius:99px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--sky),var(--blue))}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.88rem;margin-bottom:7px}.question-card{padding:22px;margin-bottom:14px}.question-title{font-weight:700;color:#20394f}.scale{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:14px}.scale label{font-weight:500;text-align:center;cursor:pointer}.scale input{position:absolute;opacity:0}.scale span{display:block;border:1px solid #cbd3d8;border-radius:8px;padding:10px 5px;background:#fff}.scale input:checked+span{background:var(--blue);color:#fff;border-color:var(--blue)}.scale-legend{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-top:5px}.report-hero{display:grid;grid-template-columns:1fr 380px;gap:30px;align-items:center;border-top:6px solid var(--sky)}.radar{width:100%;height:auto}.score-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.score-card .big{font-size:2rem;color:var(--blue);font-weight:800}.scorebar{height:9px;background:#e6ebee;border-radius:99px;overflow:hidden}.scorebar-fill{height:100%;border-radius:99px}.drive-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drive-row{padding:14px;border:1px solid var(--line);border-radius:10px}.drive-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:8px}.pill{display:inline-block;border-radius:99px;padding:4px 9px;font-size:.78rem;font-weight:750;background:#eef5f9;color:var(--blue)}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.talent-card{border-top:5px solid var(--green)}.condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.condition-card{border-left:6px solid var(--sky)}.condition-card h3{display:flex;justify-content:space-between;gap:10px}.condition-card .minihead{font-weight:800;color:var(--blue);font-size:.86rem;margin-top:10px}.section{margin-top:22px}.admin-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.stat strong{display:block;font-size:1.9rem;color:var(--blue)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:#53606a;font-size:.78rem;text-transform:uppercase}.table-scroll{overflow:auto}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.code{font-family:Consolas,monospace;background:#edf4f8;color:#082e53;padding:4px 7px;border-radius:6px;font-weight:700}.notice{padding:12px 14px;background:#fff9e9;border-left:4px solid #f2b705;border-radius:6px}.team-summary{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:center}.heatmap{display:grid;gap:6px}.heat-row{display:grid;grid-template-columns:170px repeat(6,1fr);gap:6px;align-items:center}.heat-cell{padding:9px 6px;border-radius:6px;text-align:center;font-size:.8rem}.dynamics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dynamic{border-left:5px solid var(--purple)}.print-only{display:none}.no-print{}
@media(max-width:900px){.hero,.report-hero,.team-summary,.admin-grid{grid-template-columns:1fr}.info-grid,.talent-grid,.score-cards{grid-template-columns:1fr 1fr}.condition-grid,.drive-grid{grid-template-columns:1fr}.triangle{transform:scale(.85);transform-origin:center}.heat-row{grid-template-columns:120px repeat(6,1fr)}}
@media(max-width:600px){.target-logo{width:102px}.shell{width:min(100% - 18px,1180px)}.card{padding:20px}.hero{padding:24px}.info-grid,.talent-grid,.score-cards,.login-grid{grid-template-columns:1fr}.scale{grid-template-columns:repeat(4,1fr)}.header-inner{min-height:62px}.target-logo-text{font-size:.9rem}.heatmap{overflow:auto}.heat-row{min-width:650px}.footer-inner{display:block}.triangle{display:none}}
@media print{html,body{background:#fff;font-size:10.5pt}.site-header,.site-footer,.no-print,.actions{display:none!important}.shell{width:100%;max-width:none}.main-content{padding:0}.card{box-shadow:none;border:0;border-radius:0;padding:12mm 10mm}.section{break-before:auto}.report-section{break-inside:avoid}.report-hero{grid-template-columns:1fr 120mm}.talent-grid,.score-cards{grid-template-columns:repeat(3,1fr)}.condition-grid{grid-template-columns:1fr 1fr}.drive-grid{grid-template-columns:1fr 1fr}.print-only{display:block}.radar{max-height:95mm}.page-break{break-before:page}}

/* Beheer en vragen - Talentdriehoek testversie */
.card-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.project-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;border-top:5px solid var(--sky)}.project-hero>div:first-child{flex:1}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.hero-actions form,.actions form,.row-actions form{margin:0}.accent-card{border-top:5px solid var(--sky)}.danger-soft{background:#fff5f3;color:#9a2f22;border:1px solid #efc4bd}.btn.danger{background:#a83b2f;color:#fff}.danger-zone{border-color:#efc9c3;background:#fffafa}.inline-fields{display:grid;grid-template-columns:1fr 2fr;gap:12px}.checkbox-line{display:flex;align-items:flex-start;gap:9px;font-weight:500}.checkbox-line input{width:auto;margin-top:4px}.or-divider{text-align:center;position:relative;color:var(--muted);font-size:.85rem}.or-divider:before{content:"";height:1px;background:var(--line);position:absolute;left:0;right:0;top:50%}.or-divider span{position:relative;background:#fff;padding:0 9px}.generated{border-top:5px solid var(--green)}.invitation-list{display:grid;gap:12px}.invitation-card{border:1px solid var(--line);border-radius:10px;padding:15px;background:#fbfcfd}.invitation-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.password-code{font-family:Consolas,monospace;background:#edf4f8;color:#082e53;padding:5px 7px;border-radius:6px;font-weight:700;white-space:nowrap}.invitation-text{white-space:pre-wrap;background:#f4f7f9;border-radius:8px;padding:12px;font-family:inherit;font-size:.88rem}.mail-result{margin-top:8px;font-size:.85rem;color:var(--muted)}.table-sub{font-size:.78rem;color:var(--muted);margin-top:3px}.admin-table .pill.done{background:#eaf8e3;color:#347a10}.pill.closed{background:#f6ecea;color:#913c31}.row-inactive{opacity:.58}.row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:110px}.link-button{border:0;background:none;color:var(--blue);font:inherit;font-size:.82rem;padding:0;cursor:pointer;text-decoration:underline}.mini-copy{border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:1rem;padding:2px 4px}.error-text{color:#a43c30}.notice.success{background:#eff9ea;border-left-color:var(--green)}.notice.error{background:#fff1ef;border-left-color:#b94b3d}.small-note{font-size:.84rem}.security-note{padding:12px;background:#f4f7f9;border-radius:8px;font-size:.88rem}.btn:disabled{opacity:.45;cursor:not-allowed}.question-prompt{font-size:.84rem;color:var(--muted);margin:.4rem 0 0}.scale-detailed{align-items:stretch;gap:7px}.scale-detailed label{display:flex;flex-direction:column;gap:5px}.scale-detailed .scale-number{padding:9px 4px}.scale-detailed small{display:block;line-height:1.15;font-size:.68rem;color:var(--muted);min-height:31px}.scale-detailed input:checked+.scale-number{background:var(--blue);color:#fff;border-color:var(--blue)}.survey-actions{justify-content:space-between}.target-logo{object-fit:contain}
@media(max-width:900px){.project-hero{display:block}.project-hero .hero-actions{justify-content:flex-start;margin-top:18px}.card-heading{display:block}.card-heading>.actions{margin-top:12px}.participant-table{min-width:1250px}}
@media(max-width:700px){.scale-detailed{grid-template-columns:repeat(7,minmax(54px,1fr));overflow-x:auto;padding-bottom:5px}.scale-detailed label{min-width:54px}.inline-fields{grid-template-columns:1fr}.invitation-top{display:block}.invitation-top .password-code{display:inline-block;margin-top:8px}}
.target-logo-link{display:block;flex:0 0 auto;text-decoration:none}.target-logo-link:focus{outline:3px solid rgba(9,169,223,.2);outline-offset:4px;border-radius:4px}

/* Talentdriehoek v3 - uitleg, assen, teamkleuren en A4-analyse */
.talent-hero{grid-template-columns:1.28fr .72fr}.triangle-image-wrap{display:flex;justify-content:center;align-items:center}.triangle-image-box{width:100%;text-align:center}.triangle-image{display:block;width:min(80%,376px);height:auto;max-height:312px;object-fit:contain;margin:0 auto}.triangle-caption{margin-top:6px;font-size:.72rem;line-height:1.25;color:var(--muted);letter-spacing:.01em}.section-heading{margin-bottom:12px}.two-col-explain{display:grid;grid-template-columns:1fr 1fr;gap:16px}.relation-section .info-card{border-top-color:var(--blue)}.concept-card{border-top:5px solid var(--sky)}.concept-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch}.concept-flow>div:not(.concept-arrow){padding:17px;border:1px solid var(--line);background:#fbfcfd;border-radius:11px}.concept-flow h3{margin-top:7px}.concept-step{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-weight:800}.concept-arrow{display:flex;align-items:center;color:var(--sky);font-size:1.8rem;font-weight:800}.section-intro{max-width:930px;color:#405a71}.score-axis{display:flex;justify-content:space-between;gap:12px;margin-top:4px;font-size:.66rem;color:#6d7881;line-height:1.15}.score-scale-note{font-size:.86rem;color:#5f6c76;margin-top:-.25rem}.context-note{margin-top:16px;padding:12px 14px;background:#f4f8fb;border-left:4px solid var(--sky);border-radius:7px;font-size:.9rem}.condition-score{margin:10px 0 13px}.heat-head{font-size:.72rem;text-align:center;color:#526878}.heat-cell{font-weight:800;border:1px solid rgba(11,53,95,.09);transition:transform .15s ease}.heat-cell:hover{transform:translateY(-1px)}.heat-legend{display:flex;gap:16px;align-items:center;justify-content:flex-end;margin-top:10px;font-size:.75rem;color:var(--muted)}.heat-legend span{display:flex;gap:6px;align-items:center}.heat-legend i{display:inline-block;width:22px;height:12px;border-radius:3px}.report-callout{display:flex;justify-content:space-between;gap:20px;align-items:center}.report-callout p{margin-bottom:0}.analysis-body{background:#edf2f5}.analysis-shell{padding:28px 14px}.analysis-page{width:min(210mm,100%);min-height:270mm;margin:0 auto;background:#fff;box-shadow:0 8px 30px rgba(23,47,68,.12);padding:16mm 17mm 13mm;display:flex;flex-direction:column}.analysis-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid var(--blue);padding-bottom:8px;margin-bottom:9px}.analysis-header h1{font-size:1.8rem;margin:.05em 0 .2em}.analysis-header img{width:35mm;height:auto}.analysis-meta{margin:0;color:#536575;font-size:.88rem}.analysis-summary{background:#eef5f9;border-left:4px solid var(--sky);padding:8px 11px;margin:3px 0 7px;font-size:.88rem}.analysis-context{font-size:.82rem;color:#455c70;padding:7px 10px;border:1px solid #d9e4eb;border-radius:6px;margin-bottom:6px}.analysis-section{margin:5px 0}.analysis-section h2{font-size:1.03rem;color:var(--blue);margin:0 0 3px}.analysis-section p{font-size:.88rem;line-height:1.38;margin:0}.analysis-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:7px;display:flex;justify-content:space-between;gap:14px;color:#74808a;font-size:.68rem}
@media(max-width:900px){.talent-hero,.two-col-explain{grid-template-columns:1fr}.triangle-image{max-height:330px}.concept-flow{grid-template-columns:1fr}.concept-arrow{justify-content:center;transform:rotate(90deg);height:24px}.report-callout{display:block}.report-callout .btn{margin-top:12px}}
@media(max-width:600px){.triangle-image{max-height:280px}.score-axis{font-size:.6rem}.analysis-shell{padding:10px 6px}.analysis-page{padding:22px 18px;min-height:auto}.analysis-header img{width:100px}.analysis-footer{display:block}}
@media print{
  @page{size:A4 portrait;margin:0}
  .analysis-body{background:#fff!important}
  .analysis-shell{padding:0!important}
  .analysis-page{width:210mm;height:297mm;min-height:297mm;max-height:297mm;overflow:hidden;margin:0;box-shadow:none;padding:13mm 15mm 11mm}
  .analysis-header{margin-bottom:6px;padding-bottom:6px}.analysis-header h1{font-size:17pt}.analysis-header img{width:31mm}
  .analysis-summary{font-size:8.6pt;margin:2px 0 5px;padding:6px 9px}.analysis-context{font-size:8pt;padding:5px 8px;margin-bottom:4px}
  .analysis-section{margin:3px 0}.analysis-section h2{font-size:9.5pt;margin-bottom:1px}.analysis-section p{font-size:8.7pt;line-height:1.31}
  .analysis-footer{font-size:6.8pt;padding-top:5px}
  .score-axis{font-size:6.5pt}
}

.hero-condition-note{margin:15px 0;padding:13px 15px;background:#eef5f9;border-left:4px solid var(--sky);border-radius:8px;color:#29485f;line-height:1.5}.hero-condition-note strong:first-child{color:var(--blue)}

.score-meaning-card{margin-top:14px;padding:13px 15px;border:1px solid #d7e4ec;border-radius:9px;background:#f7fafc;color:#365167;font-size:.9rem;line-height:1.48}.score-meaning-card strong{color:var(--blue)}

/* Talentdriehoek v7: header-contact en teamrapportage-toegang */
.header-email-link,.header-admin-link{font-size:13px;font-weight:650;color:#31556f;text-decoration:none;white-space:nowrap}
.header-email-link:hover,.header-admin-link:hover{text-decoration:underline;color:#0b355f}
.hero-condition-note h3{margin:0 0 4px;font-size:1rem}
.hero-condition-note p{margin:0 0 12px}
.hero-condition-note p:last-child{margin-bottom:0}
.score-meaning-card h3{margin:0 0 6px}
.score-meaning-card p{margin:0}
.recipient-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:10px 0 16px}
.recipient-check{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe6ed;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
.recipient-check input{margin-top:3px}
.recipient-check span{display:flex;flex-direction:column;gap:2px}
.recipient-check small{color:#61788a;line-height:1.25}
.recipient-check.disabled{opacity:.5;cursor:not-allowed;background:#f6f8fa}
.team-recipient-picker h3{margin:8px 0}
@media(max-width:760px){.header-email-link,.header-admin-link{font-size:12px}.header-inner>.actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}}

/* Talentdriehoek v8: header-uitlijning */
.header-inner{position:relative}
.header-inner>.actions{align-items:center}
.header-email-link{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.2;
  z-index:2;
}
.header-admin-link{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
.target-logo-link{display:flex;align-items:center;justify-content:center}
@media(max-width:760px){
  .header-email-link{position:static;transform:none;order:-1;width:100%;justify-content:center;margin:3px 0}
  .header-inner{flex-wrap:wrap;padding:7px 0}
  .header-inner>.actions{margin-left:auto}
}


/* Talentdriehoek v9: verfijnde headeruitlijning */
.header-admin-link{font-weight:400;position:relative;top:3px}
.header-email-link{top:calc(50% + 3px)}
@media(max-width:760px){
  .header-admin-link{top:2px}
  .header-email-link{top:auto;position:static;transform:none;margin-top:5px}
}

/* Talentdriehoek v11: talenten rond de Teamdriehoek */
.triangle-contribution-layout{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(250px,320px) minmax(220px,1fr);
  grid-template-areas:
    ". top ."
    "left center right"
    ". bottom .";
  gap:16px 18px;
  align-items:center;
  margin-top:16px;
}
.triangle-contribution-layout .pos-top{grid-area:top}
.triangle-contribution-layout .pos-left{grid-area:left}
.triangle-contribution-layout .pos-right{grid-area:right}
.triangle-contribution-layout .pos-bottom{grid-area:bottom}
.triangle-visual-center{grid-area:center;display:flex;justify-content:center;align-items:center}
.report-triangle-image{width:min(100%,290px);max-height:290px}
.triangle-condition-card{padding:18px 18px 16px;border-top:4px solid var(--sky)}
.triangle-condition-card h3{margin-bottom:6px}
.triangle-condition-card p{font-size:.92rem;color:#355166}
.triangle-pill-group{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px}
.triangle-talent-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.triangle-talent-list li{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid #e6edf2;font-size:.85rem}
.triangle-talent-list li:first-child{border-top:0;padding-top:0}
.triangle-talent-list li span{color:var(--muted);text-align:right}
.triangle-watch{margin-bottom:0}
.triangle-watch strong{color:var(--blue)}
.triangle-contribution-layout.team .triangle-condition-card{border-top-color:var(--blue2)}
.triangle-contribution-layout.team .pill{background:#eaf2f7}
@media(max-width:1000px){
  .triangle-contribution-layout{grid-template-columns:1fr 280px 1fr;gap:14px}
}
@media(max-width:900px){
  .triangle-contribution-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "center"
      "top"
      "right"
      "bottom"
      "left";
  }
  .triangle-talent-list li{display:block}
  .triangle-talent-list li span{display:block;text-align:left;margin-top:2px}
  .report-triangle-image{width:min(100%,260px);max-height:260px}
}
@media print{
  .triangle-contribution-layout{grid-template-columns:1fr 72mm 1fr;gap:10px 11px}
  .triangle-condition-card{padding:10px 10px 9px}
  .triangle-condition-card p{font-size:8.5pt}
  .triangle-pill-group{gap:4px;margin:5px 0 7px}
  .triangle-talent-list{gap:4px}
  .triangle-talent-list li{font-size:7.5pt}
  .report-triangle-image{width:64mm;max-height:64mm}
}

/* Talentdriehoek v12: footercontact, A4-print en analysepagina 2 */
.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.footer-inner>span:last-child{text-align:right}
.footer-email-link{color:var(--muted);text-decoration:none;font-size:inherit;white-space:nowrap;text-align:center}
.footer-email-link:hover{text-decoration:underline;color:var(--blue)}

.analysis-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px}
.analysis-footer>span:last-child{text-align:right}
.analysis-footer .footer-email-link{font-size:.68rem}

.analysis-triangle-page{margin-top:14px}
.analysis-triangle-intro{font-size:.9rem;line-height:1.42;color:#405a71;margin:0 0 8px}
.analysis-triangle-layout{
  display:grid;
  grid-template-columns:minmax(47mm,1fr) 64mm minmax(47mm,1fr);
  grid-template-areas:
    ". top ."
    "left center right"
    ". bottom .";
  gap:8mm 6mm;
  align-items:center;
  flex:1;
}
.analysis-triangle-layout .pos-top{grid-area:top}
.analysis-triangle-layout .pos-left{grid-area:left}
.analysis-triangle-layout .pos-right{grid-area:right}
.analysis-triangle-layout .pos-bottom{grid-area:bottom}
.analysis-triangle-center{grid-area:center;text-align:center}
.analysis-triangle-center img{display:block;width:60mm;max-width:100%;height:auto;margin:0 auto}
.analysis-triangle-center span{display:block;font-size:.68rem;color:var(--muted);margin-top:4px}
.analysis-triangle-card{border:1px solid #d9e4eb;border-radius:8px;background:#fbfcfd;padding:8px 10px}
.analysis-triangle-card h2{font-size:.92rem;margin:0 0 4px;color:var(--blue)}
.analysis-triangle-card p{font-size:.78rem;line-height:1.32;margin:0 0 6px;color:#3b5367}
.analysis-talent-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.analysis-talent-chips span{display:inline-block;border-radius:99px;padding:3px 7px;background:#eaf3f8;color:var(--blue);font-size:.68rem;font-weight:750}
.analysis-combos{display:grid;gap:2px;margin-top:5px}
.analysis-combos small{font-size:.62rem;line-height:1.2;color:#667682}
.analysis-watch{margin-top:6px;font-size:.68rem;line-height:1.25;color:#506778}

@media(max-width:760px){
  .footer-inner{grid-template-columns:1fr;text-align:center;gap:4px}
  .footer-inner>span:last-child{text-align:center}
  .analysis-footer{grid-template-columns:1fr;text-align:center}
  .analysis-footer>span:last-child{text-align:center}
  .analysis-triangle-layout{grid-template-columns:1fr;grid-template-areas:"center" "top" "left" "right" "bottom";gap:10px}
  .analysis-triangle-center img{width:min(260px,80vw)}
}

@media print{
  @page{size:A4 portrait;margin:12mm}
  @page analysis{size:A4 portrait;margin:0}

  body:not(.analysis-body){font-size:9.2pt}
  body:not(.analysis-body) .shell{width:100%;max-width:none;margin:0}
  body:not(.analysis-body) .main-content{padding:0;min-height:0}
  body:not(.analysis-body) .card{padding:4mm 4.5mm;border:1px solid #e2e7ea;box-shadow:none;border-radius:4px}
  body:not(.analysis-body) .report-section{break-inside:auto!important;margin:0 0 5mm}
  body:not(.analysis-body) .report-section>.card,
  body:not(.analysis-body) .score-card,
  body:not(.analysis-body) .drive-row,
  body:not(.analysis-body) .talent-card,
  body:not(.analysis-body) .condition-card{break-inside:avoid}
  body:not(.analysis-body) .report-hero{grid-template-columns:1fr 62mm;gap:6mm;padding:5mm;border-top-width:3px}
  body:not(.analysis-body) .report-hero h1{font-size:18pt}
  body:not(.analysis-body) .radar{max-height:58mm}
  body:not(.analysis-body) .score-cards{grid-template-columns:repeat(2,1fr);gap:3mm}
  body:not(.analysis-body) .talent-grid{grid-template-columns:repeat(2,1fr);gap:3mm}
  body:not(.analysis-body) .drive-grid{grid-template-columns:1fr 1fr;gap:3mm}
  body:not(.analysis-body) .condition-grid{grid-template-columns:1fr 1fr;gap:3mm}
  body:not(.analysis-body) .score-card .big{font-size:15pt}
  body:not(.analysis-body) h2{font-size:12pt}
  body:not(.analysis-body) h3{font-size:10pt}
  body:not(.analysis-body) p{margin:.35em 0 .55em}
  body:not(.analysis-body) .section-intro{font-size:8.7pt}
  body:not(.analysis-body) .score-axis{font-size:5.8pt}
  body:not(.analysis-body) .triangle-contribution-layout{grid-template-columns:1fr 58mm 1fr;gap:3mm 4mm}
  body:not(.analysis-body) .triangle-condition-card{padding:3mm}
  body:not(.analysis-body) .triangle-condition-card p{font-size:7.8pt}
  body:not(.analysis-body) .triangle-talent-list li{font-size:6.8pt}
  body:not(.analysis-body) .report-triangle-image{width:54mm;max-height:54mm}
  body:not(.analysis-body) .table-scroll{overflow:visible}
  body:not(.analysis-body) table{font-size:7.5pt}
  body:not(.analysis-body) th,body:not(.analysis-body) td{padding:2.2mm 1.8mm}
  body:not(.analysis-body) .heat-row{grid-template-columns:34mm repeat(6,1fr);min-width:0;gap:1mm}
  body:not(.analysis-body) .heat-cell{padding:2mm 1mm}
  body:not(.analysis-body) .heat-legend{font-size:6.5pt}
  body:not(.analysis-body) .site-footer{display:none!important}

  .analysis-page{page:analysis;width:210mm;height:297mm;min-height:297mm;max-height:297mm;overflow:hidden;margin:0;box-shadow:none;padding:13mm 15mm 11mm;break-after:page}
  .analysis-page:last-child{break-after:auto}
  .analysis-triangle-page{margin-top:0}
  .analysis-triangle-page .analysis-header{margin-bottom:7px}
  .analysis-triangle-page .analysis-triangle-intro{font-size:8.4pt;margin-bottom:5px}
  .analysis-triangle-layout{grid-template-columns:52mm 58mm 52mm;gap:6mm 5mm}
  .analysis-triangle-center img{width:54mm}
  .analysis-triangle-card{padding:7px 8px}
  .analysis-triangle-card h2{font-size:8.8pt}
  .analysis-triangle-card p{font-size:7.2pt;line-height:1.28}
  .analysis-talent-chips span{font-size:6.2pt;padding:2px 5px}
  .analysis-combos small,.analysis-watch{font-size:5.8pt}
  .analysis-footer .footer-email-link{font-size:6.8pt}
}

/* Talentdriehoek v13: projectbeheer */
.admin-project-tools{border-left:5px solid var(--sky)}
.participant-actions{min-width:175px;gap:6px}
.participant-actions .action-profile{font-weight:700;color:var(--blue)}
.participant-actions .table-sub{max-width:165px;line-height:1.25}

/* Talentdriehoek v13.2: persoonlijke rapportage driehoek gelijk aan uitgebreide analyse */
.report-triangle-section .report-triangle-sheet{
  border:1px solid #d9e4eb;
  border-radius:12px;
  background:#fff;
  padding:14px 16px 12px;
}
.report-triangle-intro{max-width:none;margin-bottom:10px}
.report-analysis-triangle-layout{
  margin-top:4px;
  min-height:0;
}
.report-analysis-triangle-layout .analysis-triangle-card h2{
  font-size:1rem;
}
.report-analysis-triangle-layout .analysis-triangle-card p{
  font-size:.82rem;
}
.report-analysis-triangle-layout .analysis-talent-chips span{
  font-size:.72rem;
}
.report-analysis-triangle-layout .analysis-combos small{
  font-size:.66rem;
}

@media print{
  body:not(.analysis-body) .report-triangle-section{
    break-before:page;
    break-inside:avoid;
    margin:0;
  }
  body:not(.analysis-body) .report-triangle-section .report-triangle-sheet{
    border:1px solid #d9e4eb;
    border-radius:4px;
    padding:4.5mm 5mm 4mm;
  }
  body:not(.analysis-body) .report-triangle-section>.eyebrow,
  body:not(.analysis-body) .report-triangle-section>h2{
    display:block;
  }
  body:not(.analysis-body) .report-triangle-section .report-triangle-intro{
    font-size:8.2pt;
    line-height:1.28;
    margin:0 0 3.2mm;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout{
    grid-template-columns:52mm 58mm 52mm;
    gap:6mm 5mm;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-triangle-center img{
    width:54mm;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-triangle-center span{
    font-size:6.4pt;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-triangle-card{
    padding:7px 8px;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-triangle-card h2{
    font-size:8.8pt;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-triangle-card p{
    font-size:7.2pt;
    line-height:1.28;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-talent-chips span{
    font-size:6.2pt;
    padding:2px 5px;
  }
  body:not(.analysis-body) .report-analysis-triangle-layout .analysis-combos small{
    font-size:5.8pt;
  }
}

/* Talentdriehoek v14: uitgebreide analyse geïntegreerd in rapportages */
.integrated-analysis-section{margin-top:22px}
.integrated-analysis-page{
  background:#fff;
  border:1px solid #d9e4eb;
  border-radius:12px;
  padding:24px 26px 20px;
}
.integrated-analysis-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  border-bottom:2px solid var(--blue);
  padding-bottom:10px;
  margin-bottom:10px;
}
.integrated-analysis-header h2{font-size:1.5rem;margin:.05em 0 .2em;color:var(--blue)}
.integrated-analysis-header img{width:120px;height:auto}
.integrated-analysis-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:end;
  gap:12px;
  border-top:1px solid var(--line);
  margin-top:14px;
  padding-top:8px;
  color:#74808a;
  font-size:.72rem;
}
.integrated-analysis-footer>span:last-child{text-align:right}

@media(max-width:760px){
  .integrated-analysis-page{padding:20px}
  .integrated-analysis-header{display:block}
  .integrated-analysis-header img{width:105px;margin-top:10px}
  .integrated-analysis-footer{grid-template-columns:1fr;text-align:center}
  .integrated-analysis-footer>span:last-child{text-align:center}
}

@media print{
  /* Visualisatie is altijd één zelfstandig A4-blad met 12 mm buitenmarge. */
  body:not(.analysis-body) .report-triangle-section{
    break-before:page!important;
    break-after:page!important;
    break-inside:avoid!important;
    height:273mm;
    max-height:273mm;
    overflow:hidden;
    margin:0!important;
    padding:0!important;
    display:flex;
    flex-direction:column;
  }
  body:not(.analysis-body) .report-triangle-section>.eyebrow{margin:0 0 1mm}
  body:not(.analysis-body) .report-triangle-section>h2{margin:0 0 2.5mm;font-size:13pt}
  body:not(.analysis-body) .report-triangle-section .report-triangle-sheet{
    flex:1;
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:4mm 5mm;
    overflow:hidden;
  }
  body:not(.analysis-body) .report-triangle-section .report-triangle-intro{
    flex:0 0 auto;
    font-size:8pt;
    line-height:1.25;
    margin:0 0 2.5mm;
  }
  body:not(.analysis-body) .report-triangle-section .report-analysis-triangle-layout{
    flex:1;
    min-height:0;
    grid-template-columns:51mm 57mm 51mm;
    gap:5mm 4mm;
    align-content:center;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-center img{width:52mm}
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card{padding:6px 7px}
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card h2{font-size:8.5pt}
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card p{font-size:7pt;line-height:1.24;margin-bottom:4px}
  body:not(.analysis-body) .report-triangle-section .analysis-talent-chips{gap:3px;margin-top:3px}
  body:not(.analysis-body) .report-triangle-section .analysis-talent-chips span{font-size:6pt;padding:2px 4px}
  body:not(.analysis-body) .report-triangle-section .analysis-combos{gap:1px;margin-top:3px}
  body:not(.analysis-body) .report-triangle-section .analysis-combos small,
  body:not(.analysis-body) .report-triangle-section .analysis-watch{font-size:5.6pt;line-height:1.16}

  /* Uitgebreide tekst staat als laatste zelfstandig analyseblad. */
  body:not(.analysis-body) .integrated-analysis-section{
    break-before:page!important;
    break-inside:avoid!important;
    margin:0!important;
    min-height:273mm;
  }
  body:not(.analysis-body) .integrated-analysis-page{
    min-height:273mm;
    border:0;
    border-radius:0;
    padding:8mm 7mm 6mm;
    display:flex;
    flex-direction:column;
  }
  body:not(.analysis-body) .integrated-analysis-header{margin-bottom:5px;padding-bottom:6px}
  body:not(.analysis-body) .integrated-analysis-header h2{font-size:15pt}
  body:not(.analysis-body) .integrated-analysis-header img{width:30mm}
  body:not(.analysis-body) .integrated-analysis-page .analysis-summary{font-size:8.3pt;margin:2px 0 5px;padding:6px 9px}
  body:not(.analysis-body) .integrated-analysis-page .analysis-context{font-size:7.8pt;padding:5px 8px;margin-bottom:4px}
  body:not(.analysis-body) .integrated-analysis-page .analysis-section{margin:3px 0}
  body:not(.analysis-body) .integrated-analysis-page .analysis-section h2{font-size:9.3pt;margin-bottom:1px}
  body:not(.analysis-body) .integrated-analysis-page .analysis-section p{font-size:8.4pt;line-height:1.3;margin:0}
  body:not(.analysis-body) .integrated-analysis-footer{margin-top:auto;font-size:6.6pt;padding-top:5px}
}

/* Talentdriehoek v14.1: bulktoegang teamrapportage */
.team-bulk-intro{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px 16px;background:#f4f8fb;border-left:4px solid var(--sky);border-radius:8px;margin-bottom:16px}
.team-bulk-intro p{margin:0}.team-bulk-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.recipient-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:3px 0 10px}.recipient-heading h3{margin:0 0 3px}.recipient-heading p{margin:0}.recipient-heading-secondary{margin-top:20px}
.team-extra-recipients{margin-top:4px;padding-top:16px;border-top:1px solid var(--line)}.team-extra-recipients h3{margin-bottom:4px}
.team-send-panel{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 16px;border:1px solid #d5e3ec;border-radius:10px;background:#fbfcfd;margin-top:4px}.team-send-panel p{margin:.25rem 0 0}.team-send-panel .btn{flex:0 0 auto}
@media(max-width:760px){.team-bulk-intro,.recipient-heading,.team-send-panel{display:block}.team-bulk-summary,.recipient-heading .actions{justify-content:flex-start;margin-top:10px}.team-send-panel .btn{margin-top:10px;width:100%}}
.recipient-missing-mail{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fff9e9;color:#66531a;font-size:.84rem}


/* Talentdriehoek v14.2: elk hoofdonderdeel op nieuwe pagina + verbeterde Teamdriehoek-visualisatie */
.report-triangle-section .report-triangle-sheet{
  max-width:1120px;
  margin:0 auto;
  padding:18px 20px 18px;
}
.report-triangle-section .report-triangle-intro{
  max-width:950px;
  margin:0 auto 12px;
}
.report-triangle-section .report-analysis-triangle-layout{
  grid-template-columns:minmax(260px,1fr) 290px minmax(260px,1fr);
  gap:18px 20px;
  align-items:center;
  justify-items:stretch;
}
.report-triangle-section .analysis-triangle-card{
  min-height:158px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.report-triangle-section .analysis-triangle-center{
  align-self:center;
}
.report-triangle-section .analysis-triangle-center img{
  width:min(100%,250px);
}
.report-triangle-section .analysis-triangle-card.pos-top,
.report-triangle-section .analysis-triangle-card.pos-bottom{
  max-width:540px;
  justify-self:center;
}

@media print{
  body:not(.analysis-body) .report-section{
    break-before:page;
    break-inside:auto !important;
    margin:0;
  }
  body:not(.analysis-body) .report-hero{
    break-before:auto;
  }
  body:not(.analysis-body) .report-section + .report-section{
    margin-top:0;
  }
  body:not(.analysis-body) .report-triangle-section{
    min-height:271mm;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  body:not(.analysis-body) .report-triangle-section .report-triangle-sheet{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    border:1px solid #d9e4eb;
    border-radius:4px;
    padding:4.5mm 5mm 4.5mm;
  }
  body:not(.analysis-body) .report-triangle-section .report-triangle-intro{
    max-width:none;
    margin:0 0 3mm;
  }
  body:not(.analysis-body) .report-triangle-section .report-analysis-triangle-layout{
    flex:1;
    grid-template-columns:53mm 64mm 53mm;
    grid-template-areas:
      ". top ."
      "left center right"
      ". bottom .";
    gap:6mm 5mm;
    align-content:center;
    align-items:center;
    justify-content:center;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card{
    min-height:0;
    padding:7px 8px;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card.pos-top,
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card.pos-bottom{
    max-width:none;
    width:100%;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-center img{
    width:56mm;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-center span{
    font-size:6.4pt;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card h2{
    font-size:8.8pt;
    margin-bottom:3px;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-triangle-card p{
    font-size:7.2pt;
    line-height:1.26;
    margin-bottom:5px;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-talent-chips span{
    font-size:6.1pt;
    padding:2px 5px;
  }
  body:not(.analysis-body) .report-triangle-section .analysis-combos small,
  body:not(.analysis-body) .report-triangle-section .analysis-watch{
    font-size:5.8pt;
    line-height:1.18;
  }
}

/* Talentdriehoek v14.3: vaste kop- en voettekst op iedere PDF/printpagina */
.print-report-header,.print-report-footer{display:none}

@media print{
  /* Ruimte reserveren voor de vaste kop- en voettekst. */
  @page{size:A4 portrait;margin:22mm 12mm 18mm}

  .print-report-header{
    position:fixed;
    top:-16mm;
    left:0;
    right:0;
    height:10mm;
    display:grid!important;
    grid-template-columns:1fr 2fr 1fr;
    align-items:center;
    gap:6mm;
    border-bottom:.35mm solid #d9e1e7;
    padding-bottom:2mm;
    z-index:1000;
    font-size:8pt;
    color:#526878;
  }
  .print-header-left{
    justify-self:start;
    font-weight:800;
    color:#0b355f;
    font-size:9pt;
  }
  .print-header-center{
    justify-self:center;
    text-align:center;
    font-weight:700;
    color:#20394f;
    line-height:1.18;
    max-width:100mm;
  }
  .print-header-center small{
    display:block;
    margin-top:1mm;
    font-size:6.6pt;
    font-weight:400;
    color:#6f7780;
  }
  .print-header-right{
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:flex-end;
  }
  .print-header-right img{
    display:block;
    width:25mm;
    max-height:7mm;
    object-fit:contain;
  }

  .print-report-footer{
    position:fixed;
    bottom:-12.5mm;
    left:0;
    right:0;
    height:7mm;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    gap:5mm;
    border-top:.3mm solid #d9e1e7;
    padding-top:2mm;
    z-index:1000;
    font-size:6.8pt;
    color:#74808a;
  }
  .print-footer-left{justify-self:start}
  .print-footer-center{justify-self:center;text-align:center}
  .print-footer-right{justify-self:end;text-align:right}

  /* De vaste footer vervangt de footer die in de uitgebreide tekst zelf stond. */
  body:not(.analysis-body) .integrated-analysis-footer{display:none!important}

  /* Nieuwe beschikbare A4-hoogte na reservering voor kop en voet. */
  body:not(.analysis-body) .report-triangle-section{
    height:255mm!important;
    min-height:255mm!important;
    max-height:255mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-section{
    min-height:255mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-page{
    min-height:255mm!important;
  }
}

/* Talentdriehoek v14.4: stabiele PDF-kop/voet en persoonlijke eerste pagina */
@media print{
  /* Kop en voet staan binnen de fysieke pagina; de @page-marges houden de inhoud vrij. */
  @page{size:A4 portrait;margin:20mm 12mm 16mm}

  .print-report-header{
    position:fixed!important;
    top:4mm!important;
    left:12mm!important;
    right:12mm!important;
    height:10mm!important;
    margin:0!important;
    padding:0 0 2mm!important;
    display:grid!important;
    grid-template-columns:1fr 2fr 1fr!important;
    align-items:center!important;
    gap:6mm!important;
    border-bottom:.35mm solid #d9e1e7!important;
    background:#fff!important;
    z-index:9999!important;
  }
  .print-report-footer{
    position:fixed!important;
    bottom:4mm!important;
    left:12mm!important;
    right:12mm!important;
    height:7mm!important;
    margin:0!important;
    padding:2mm 0 0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    align-items:center!important;
    gap:5mm!important;
    border-top:.3mm solid #d9e1e7!important;
    background:#fff!important;
    z-index:9999!important;
  }

  /* Persoonlijke rapportage: zes dimensies horen bij de openingspagina. */
  body:not(.analysis-body) .personal-dimensions,
  body:not(.analysis-body) .first-page-continuation{
    break-before:auto!important;
    page-break-before:auto!important;
    margin-top:3mm!important;
  }
  body:not(.analysis-body) .personal-dimensions .score-cards{
    grid-template-columns:repeat(3,1fr)!important;
    gap:2.2mm!important;
  }
  body:not(.analysis-body) .personal-dimensions .score-card{
    padding:2.5mm 3mm!important;
  }
  body:not(.analysis-body) .personal-dimensions .score-card h3{
    font-size:8.7pt!important;
    margin-bottom:1mm!important;
  }
  body:not(.analysis-body) .personal-dimensions .score-card .big{
    font-size:13pt!important;
  }
  body:not(.analysis-body) .personal-dimensions .score-card p{
    font-size:7pt!important;
    line-height:1.22!important;
    margin:.25em 0!important;
  }
  body:not(.analysis-body) .personal-dimensions .score-axis{
    font-size:5.2pt!important;
  }
  body:not(.analysis-body) .personal-dimensions>h2{
    margin-bottom:1.5mm!important;
  }
  body:not(.analysis-body) .personal-dimensions>.score-scale-note{
    margin-bottom:2mm!important;
  }

  /* Een kaart of hypothese mag niet midden tussen twee pagina's worden gesplitst. */
  body:not(.analysis-body) .dynamic,
  body:not(.analysis-body) .dynamics-grid>article,
  body:not(.analysis-body) .analysis-section,
  body:not(.analysis-body) .analysis-triangle-card{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* Nieuwe bruikbare paginahoogte met de aangepaste kop/voet. */
  body:not(.analysis-body) .report-triangle-section{
    height:261mm!important;
    min-height:261mm!important;
    max-height:261mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-section,
  body:not(.analysis-body) .integrated-analysis-page{
    min-height:261mm!important;
  }
}
@media print{
  body:not(.analysis-body) .same-page-with-previous{
    break-before:auto!important;
    page-break-before:auto!important;
  }
}

/* Talentdriehoek v14.5: compactere PDF-kop/voet met veilige afstand tot inhoud */
@media print{
  /* Compacte kop en voet dicht bij de fysieke paginarand. */
  @page{size:A4 portrait;margin:15mm 12mm 12mm}

  .print-report-header{
    top:2mm!important;
    left:12mm!important;
    right:12mm!important;
    height:6mm!important;
    padding:0 0 1mm!important;
    gap:5mm!important;
    border-bottom:.25mm solid #d9e1e7!important;
    font-size:7pt!important;
  }
  .print-header-left{
    font-size:8pt!important;
    line-height:1!important;
  }
  .print-header-center{
    font-size:7.5pt!important;
    line-height:1.05!important;
  }
  .print-header-center small{
    margin-top:.5mm!important;
    font-size:5.8pt!important;
    line-height:1!important;
  }
  .print-header-right img{
    width:18mm!important;
    max-height:5mm!important;
  }

  .print-report-footer{
    bottom:2mm!important;
    left:12mm!important;
    right:12mm!important;
    height:5mm!important;
    padding:1mm 0 0!important;
    gap:4mm!important;
    border-top:.25mm solid #d9e1e7!important;
    font-size:6.2pt!important;
    line-height:1!important;
  }

  /* Extra veilige afstand tussen de compacte koplijn en het begin van elk hoofdonderdeel. */
  body:not(.analysis-body) .report-section{
    padding-top:2.5mm!important;
  }
  body:not(.analysis-body) .report-hero{
    padding-top:4mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-section{
    padding-top:3mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-page{
    padding-top:4mm!important;
  }

  /* Door de compactere boven- en ondermarge is er weer iets meer bruikbare paginahoogte. */
  body:not(.analysis-body) .report-triangle-section{
    height:270mm!important;
    min-height:270mm!important;
    max-height:270mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-section,
  body:not(.analysis-body) .integrated-analysis-page{
    min-height:270mm!important;
  }
}

/* Talentdriehoek v14.6: definitieve scheiding tussen PDF-kop/voet en inhoud */
@media print{
  /* Kop en voet zo dicht mogelijk bij de fysieke paginarand. */
  @page{size:A4 portrait;margin:8mm 12mm 7mm}

  .print-report-header{
    top:.5mm!important;
    left:12mm!important;
    right:12mm!important;
    height:5mm!important;
    padding:0 0 .7mm!important;
    gap:4mm!important;
    font-size:6.6pt!important;
    line-height:1!important;
    border-bottom:.2mm solid #d9e1e7!important;
  }
  .print-header-left{
    font-size:7.4pt!important;
    line-height:1!important;
  }
  .print-header-center{
    font-size:7pt!important;
    line-height:1!important;
  }
  .print-header-center small{
    margin-top:.35mm!important;
    font-size:5.2pt!important;
    line-height:1!important;
  }
  .print-header-right img{
    width:16mm!important;
    max-height:4.2mm!important;
  }

  .print-report-footer{
    bottom:.4mm!important;
    left:12mm!important;
    right:12mm!important;
    height:4mm!important;
    padding:.7mm 0 0!important;
    gap:4mm!important;
    font-size:5.8pt!important;
    line-height:1!important;
    border-top:.2mm solid #d9e1e7!important;
  }

  /*
     Belangrijk: niet meer vertrouwen op alleen de @page-marge.
     Ieder hoofdonderdeel dat op een nieuw blad begint krijgt zelf
     voldoende witruimte boven de inhoud. Daardoor kan de vaste kop
     nooit meer door de blauwe hoofdstukkop of titel heen lopen.
  */
  body:not(.analysis-body) .report-section:not(.first-page-continuation):not(.same-page-with-previous){
    padding-top:10mm!important;
  }
  body:not(.analysis-body) .report-hero{
    padding-top:10mm!important;
  }
  body:not(.analysis-body) .first-page-continuation,
  body:not(.analysis-body) .personal-dimensions{
    padding-top:0!important;
  }
  body:not(.analysis-body) .same-page-with-previous{
    padding-top:0!important;
  }

  /* De geïntegreerde tekst start eveneens gegarandeerd onder de kop. */
  body:not(.analysis-body) .integrated-analysis-section{
    padding-top:10mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-page{
    padding-top:4mm!important;
  }

  /* De Teamdriehoek blijft één A4 ondanks de extra veilige bovenruimte. */
  body:not(.analysis-body) .report-triangle-section{
    height:282mm!important;
    min-height:282mm!important;
    max-height:282mm!important;
  }
  body:not(.analysis-body) .integrated-analysis-section,
  body:not(.analysis-body) .integrated-analysis-page{
    min-height:0!important;
  }
}

/* Talentdriehoek v14.7: expliciete veilige ruimte op pagina 1 en bij vervolgpagina's */
.drive-grid-print,.team-drive-table-print{display:none}

@media print{
  /* Kop/voet nog iets dichter tegen de rand. */
  .print-report-header{top:0!important;height:4.6mm!important}
  .print-report-footer{bottom:0!important;height:3.8mm!important}

  /* Echte inhoudsruimte; deze divs worden onderdeel van de paginaflow. */
  .print-first-page-safe-space{
    display:block!important;
    height:7mm!important;
    width:100%!important;
  }
  .print-section-safe-space{
    display:block!important;
    height:7mm!important;
    width:100%!important;
  }

  /* Pagina 1: de veilige ruimte staat voor het profiel; voorkom dubbele grote padding. */
  body:not(.analysis-body) .report-hero{
    padding-top:4mm!important;
  }

  /* De drijfveren worden voor print bewust in twee vaste pagina's verdeeld. */
  .drive-grid-screen,.team-drive-table-screen{display:none!important}
  .drive-grid-print{display:grid!important}
  .team-drive-table-print{display:block!important}
  body:not(.analysis-body) .drive-report-section,
  body:not(.analysis-body) .team-drive-report-section,
  body:not(.analysis-body) .drive-report-continuation,
  body:not(.analysis-body) .team-drive-report-continuation{
    padding-top:0!important;
  }
  body:not(.analysis-body) .drive-report-continuation,
  body:not(.analysis-body) .team-drive-report-continuation{
    break-before:page!important;
    page-break-before:always!important;
    margin:0!important;
  }
  body:not(.analysis-body) .drive-report-section .drive-row,
  body:not(.analysis-body) .drive-report-continuation .drive-row,
  body:not(.analysis-body) .team-drive-report-section tr,
  body:not(.analysis-body) .team-drive-report-continuation tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* De tweede drijfverenpagina is bewust iets compacter zodat zes blokken altijd passen. */
  body:not(.analysis-body) .drive-report-section .drive-grid,
  body:not(.analysis-body) .drive-report-continuation .drive-grid{
    gap:2.5mm!important;
  }
  body:not(.analysis-body) .drive-report-section .drive-row,
  body:not(.analysis-body) .drive-report-continuation .drive-row{
    padding:3mm 3.2mm!important;
  }
}
@media print{
  body:not(.analysis-body) .report-section.drive-report-section:not(.first-page-continuation):not(.same-page-with-previous),
  body:not(.analysis-body) .report-section.drive-report-continuation:not(.first-page-continuation):not(.same-page-with-previous),
  body:not(.analysis-body) .report-section.team-drive-report-section:not(.first-page-continuation):not(.same-page-with-previous),
  body:not(.analysis-body) .report-section.team-drive-report-continuation:not(.first-page-continuation):not(.same-page-with-previous){
    padding-top:0!important;
  }
}

/* Talentdriehoek v14.8: geen buitenrand rond Teamdriehoek-visualisatie */
.report-triangle-section .report-triangle-sheet{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
@media print{
  body:not(.analysis-body) .report-triangle-section .report-triangle-sheet{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
}

/* Talentdriehoek v14.9: kop- en voettekst exact gelijk aan inhoudsbreedte */
@media print{
  /*
     De @page-marge bepaalt al de breedte van de rapportage-inhoud.
     Daarom geen extra 12 mm links/rechts op de vaste kop en voet.
  */
  .print-report-header{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .print-report-footer{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .print-header-left,.print-footer-left{justify-self:start!important;text-align:left!important}
  .print-header-center,.print-footer-center{justify-self:center!important;text-align:center!important}
  .print-header-right,.print-footer-right{justify-self:end!important;text-align:right!important}
}

/* Talentdriehoek v14.10: blauwtinten heatmap behouden in PDF */
.heat-cell,
.heat-legend i{
  -webkit-print-color-adjust:exact !important;
  print-color-adjust:exact !important;
  forced-color-adjust:none;
}

@media print{
  body:not(.analysis-body) .heat-cell,
  body:not(.analysis-body) .heat-legend i{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
    forced-color-adjust:none !important;
  }
  body:not(.analysis-body) .heat-cell{
    border-color:rgba(11,53,95,.18) !important;
  }
}

/* Vaste heatmapklassen voor betrouwbare scherm- en PDF-weergave */
.heat-cell.heat-l1{background-color:#eef5f9 !important;color:#23445f !important}
.heat-cell.heat-l2{background-color:#d7e8f2 !important;color:#23445f !important}
.heat-cell.heat-l3{background-color:#a9cee2 !important;color:#173b57 !important}
.heat-cell.heat-l4{background-color:#74acd0 !important;color:#123a59 !important}
.heat-cell.heat-l5{background-color:#3e83b1 !important;color:#fff !important}
.heat-cell.heat-l6{background-color:#1f5f8d !important;color:#fff !important}
.heat-cell.heat-l7{background-color:#0b355f !important;color:#fff !important}

@media print{
  body:not(.analysis-body) .heat-cell.heat-l1{box-shadow:inset 0 0 0 1000px #eef5f9 !important}
  body:not(.analysis-body) .heat-cell.heat-l2{box-shadow:inset 0 0 0 1000px #d7e8f2 !important}
  body:not(.analysis-body) .heat-cell.heat-l3{box-shadow:inset 0 0 0 1000px #a9cee2 !important}
  body:not(.analysis-body) .heat-cell.heat-l4{box-shadow:inset 0 0 0 1000px #74acd0 !important}
  body:not(.analysis-body) .heat-cell.heat-l5{box-shadow:inset 0 0 0 1000px #3e83b1 !important}
  body:not(.analysis-body) .heat-cell.heat-l6{box-shadow:inset 0 0 0 1000px #1f5f8d !important}
  body:not(.analysis-body) .heat-cell.heat-l7{box-shadow:inset 0 0 0 1000px #0b355f !important}
  body:not(.analysis-body) .heat-legend span:nth-child(1) i{background-color:#eef5f9 !important;box-shadow:inset 0 0 0 1000px #eef5f9 !important}
  body:not(.analysis-body) .heat-legend span:nth-child(2) i{background-color:#74acd0 !important;box-shadow:inset 0 0 0 1000px #74acd0 !important}
  body:not(.analysis-body) .heat-legend span:nth-child(3) i{background-color:#0b355f !important;box-shadow:inset 0 0 0 1000px #0b355f !important}
}

/* Talentdriehoek v14.13: openingspagina terug naar tekst links / Teamdriehoek rechts */
@media (min-width:901px){
  .hero.talent-hero{
    display:grid !important;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr) !important;
    column-gap:34px !important;
    align-items:center !important;
  }
  .hero.talent-hero > div:first-child{
    min-width:0;
  }
  .hero.talent-hero .triangle-image-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
  }
  .hero.talent-hero .triangle-image-box{
    width:100% !important;
    max-width:360px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  .hero.talent-hero .triangle-image{
    width:80% !important;
    max-width:300px !important;
    height:auto !important;
    margin:0 auto !important;
  }
}
@media (max-width:900px){
  .hero.talent-hero{
    grid-template-columns:1fr !important;
  }
}


/* Talentdriehoek v14.14: passende breedte vraag-/antwoordpagina's */
.survey-page{overflow-x:hidden}
.survey-page .shell{width:min(960px,calc(100% - 32px))}
.survey-page .question-card{width:100%}
.survey-page .scale-detailed{min-width:0}
@media(max-width:700px){
  .survey-page .shell{width:min(100% - 18px,960px)}
  .survey-page .question-card{overflow:hidden}
  .survey-page .scale-detailed{overflow-x:auto;max-width:100%}
}
