:root{--yellow:#F4C400;--red:#E53935;--blue:#1497D4;--green:#62B654;--ink:#20252b;--muted:#68717b;--paper:#fff;--bg:#f4f6f8;--line:#dde2e6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}.wrap{max-width:1050px;margin:auto;padding:24px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin:18px 0;box-shadow:0 8px 22px rgba(0,0,0,.05)}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2rem,5vw,3.5rem);margin:.15em 0}.sub{color:var(--muted);font-size:1.08rem}.stripe{height:8px;border-radius:8px;background:linear-gradient(90deg,var(--red) 0 25%,var(--green) 25% 50%,var(--blue) 50% 75%,var(--yellow) 75%)}.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;background:#20252b;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.btn.alt{background:#fff;color:#20252b;border:1px solid #bbc3ca}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.temp{border-radius:14px;padding:18px;color:white;min-height:130px}.yellow{background:var(--yellow);color:#272000}.red{background:var(--red)}.blue{background:var(--blue)}.green{background:var(--green)}.option{display:block;border:2px solid var(--line);border-radius:12px;padding:14px 16px;margin:10px 0;cursor:pointer}.option:hover{border-color:#89949e}.option input{margin-right:10px}.question{display:none}.question.active{display:block}.progress{height:10px;background:#e8ecef;border-radius:10px;overflow:hidden}.progress>div{height:100%;background:#20252b;width:0}.barrow{display:grid;grid-template-columns:130px 1fr 38px;gap:10px;align-items:center;margin:10px 0}.bar{background:#edf0f2;border-radius:99px;overflow:hidden;height:18px}.fill{height:100%}.tag{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef1f3;margin:2px;font-size:.86rem}.scorehero{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{font-weight:700;cursor:pointer}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.notice{padding:12px 14px;border-radius:10px;background:#fff7d6;border:1px solid #ead37c}.small{font-size:.9rem;color:var(--muted)}input[type=text],input[type=email],input[type=password]{width:100%;padding:11px;border:1px solid #bbc3ca;border-radius:8px;font-size:1rem}.field{margin-bottom:14px}.actions{display:flex;gap:10px;justify-content:space-between;margin-top:18px}.logo-title{letter-spacing:.03em}.print-only{display:none}@media(max-width:760px){.grid,.four,.scorehero{grid-template-columns:1fr}.wrap{padding:14px}.card{padding:20px}.barrow{grid-template-columns:95px 1fr 30px}}@media print{body{background:#fff;font-size:10.5pt}.wrap{max-width:none;padding:0}.card{box-shadow:none;border:0;border-radius:0;padding:0;margin:0 0 16px;break-inside:avoid}.no-print{display:none!important}.print-only{display:block}.page-break{break-before:page}.four{grid-template-columns:repeat(4,1fr)}a{color:inherit;text-decoration:none}@page{size:Letter portrait;margin:.55in}}

/* Resurrection Life Church branding */
:root{--brand-gold:#b5964a;--brand-black:#121214;--brand-soft:#f7f3e8}
.brand-header{display:flex;align-items:center;justify-content:flex-start;padding:8px 4px 4px;margin:0 0 10px}
.brand-header img{display:block;width:min(360px,55vw);height:auto;max-height:105px;object-fit:contain;object-position:left center}
.brand-header.compact img{width:min(285px,45vw);max-height:78px}
.brand-link{display:inline-block}
.card h1,.card h2{color:var(--brand-black)}
.btn{background:var(--brand-black)}
.btn:hover{filter:brightness(1.18)}
.btn.alt{border-color:var(--brand-gold)}
.sub{color:#75643c}
.progress>div{background:var(--brand-gold)}
.card{border-color:#ddd7c8}
.success{padding:11px 14px;margin:12px 0;background:#f3f7ef;border:1px solid #a9c49a;border-radius:9px}
.inline-form{display:inline;margin:0}
.delete-link{border:0;background:none;color:#a21f1f;text-decoration:underline;cursor:pointer;padding:0;font:inherit}
.delete-link:hover{color:#6f0000}
.report-footer{margin-top:auto;padding-top:10px;border-top:1px solid #d8d0bd;text-align:center;color:#75643c;font-size:8.5pt}

/* Print/PDF layout: US Letter portrait with controlled pagination */
@media print{
  html,body{width:8.5in;background:#fff}
  body{font-size:9.5pt;line-height:1.32}
  .report-wrap{padding:0;max-width:none}
  .report-wrap>.brand-header{position:absolute;top:.02in;left:0;width:100%;margin:0;padding:0}
  .report-wrap>.brand-header img{width:2.55in;max-height:.72in}
  .report-wrap>.stripe{display:none}
  .report-page{
    position:relative;
    width:100%;
    min-height:9.72in;
    padding-top:.78in;
    display:flex;
    flex-direction:column;
    break-after:page;
    page-break-after:always;
  }
  .report-page:last-of-type{break-after:auto;page-break-after:auto}
  .report-page .card{margin:0 0 .14in;padding:0;box-shadow:none;border:0;break-inside:auto}
  .report-page h1{font-size:25pt;margin:.05in 0 .08in}
  .report-page h2{font-size:16pt;margin:.08in 0 .08in}
  .report-page h3{font-size:11.5pt;margin:.08in 0 .05in}
  .report-page p{margin:.05in 0 .09in}
  .scorehero{grid-template-columns:1.25fr .75fr;gap:.2in}
  .barrow{margin:.06in 0}
  .four{gap:.08in}
  .temp{min-height:.82in;padding:.11in;font-size:8.8pt}
  .faq details{padding:.07in 0;break-inside:avoid}
  .faq details p{margin:.04in 0}
  .print-only{display:block}
  @page{size:Letter portrait;margin:.45in .55in .45in .55in}
}

/* v1.5 — restrained brand mark sizing throughout application */
.brand-header{
  padding:6px 4px 2px;
  margin:0 0 8px;
}
.brand-header img,
.brand-header.compact img{
  width:250px !important;
  max-width:42vw !important;
  height:auto !important;
  max-height:none !important;
}

/* Reports use an even smaller masthead on screen so results remain primary. */
.report-wrap>.brand-header img{
  width:250px !important;
  max-width:42vw !important;
}

@media (max-width:600px){
  .brand-header img,
  .brand-header.compact img,
  .report-wrap>.brand-header img{
    width:210px !important;
    max-width:62vw !important;
  }
}

/* Printed report: compact, proportional logo; never dominate page 1. */
@media print{
  .report-wrap>.brand-header{
    top:.03in;
    left:0;
    height:.48in;
    display:flex;
    align-items:flex-start;
  }
  .report-wrap>.brand-header img,
  .brand-header img,
  .brand-header.compact img{
    width:1.95in !important;
    max-width:1.95in !important;
    height:auto !important;
    max-height:.48in !important;
    object-fit:contain !important;
    object-position:left top !important;
  }
  .report-page{padding-top:.56in}
}

/* v1.6 hard stop on logo size */
.brand-header img{height:78px !important;width:auto !important;max-width:280px !important;}
.brand-header.compact img{height:64px !important;width:auto !important;max-width:240px !important;}
@media (max-width:600px){
  .brand-header img{height:62px !important;max-width:225px !important;}
  .brand-header.compact img{height:56px !important;max-width:205px !important;}
}
@media print{
  .report-wrap>.brand-header{
    position:static !important;
    height:auto !important;
    padding:0 0 .08in !important;
    margin:0 !important;
  }
  .report-wrap>.brand-header img{
    height:.44in !important;
    width:auto !important;
    max-width:1.55in !important;
    max-height:.44in !important;
  }
  .report-page{padding-top:0 !important;}
}

/* v1.7 expanded temperament education and report */
.center{text-align:center}.lead{font-size:1.08rem}.profile-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.profile-head{padding:18px}.profile-head h2,.profile-head p{margin:0;color:inherit}.profile-body{padding:20px}.yellow-border{border-top:5px solid var(--yellow)}.red-border{border-top:5px solid var(--red)}.blue-border{border-top:5px solid var(--blue)}.green-border{border-top:5px solid var(--green)}.tags{display:flex;flex-wrap:wrap;gap:5px}.quad-map{position:relative;max-width:700px;height:430px;margin:45px auto;background:linear-gradient(90deg,transparent 49.7%,#39424a 49.7% 50.3%,transparent 50.3%),linear-gradient(transparent 49.7%,#39424a 49.7% 50.3%,transparent 50.3%);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;padding:16px}.quad-cell{border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:1.15rem}.quad-cell span{font-size:.9rem}.q-green{grid-column:1;grid-row:1;background:rgba(98,182,84,.17);border:2px solid var(--green)}.q-yellow{grid-column:2;grid-row:1;background:rgba(244,196,0,.18);border:2px solid var(--yellow)}.q-blue{grid-column:1;grid-row:2;background:rgba(20,151,212,.14);border:2px solid var(--blue)}.q-red{grid-column:2;grid-row:2;background:rgba(229,57,53,.12);border:2px solid var(--red)}.quad-label{position:absolute;font-weight:800;font-size:.78rem;letter-spacing:.08em;color:var(--muted)}.quad-label.top{top:-30px;left:50%;transform:translateX(-50%)}.quad-label.bottom{bottom:-30px;left:50%;transform:translateX(-50%)}.quad-label.left{left:-65px;top:50%;transform:translateY(-50%) rotate(-90deg)}.quad-label.right{right:-70px;top:50%;transform:translateY(-50%) rotate(90deg)}.you-dot{position:absolute;width:52px;height:52px;border-radius:50%;background:var(--brand-black);border:4px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.3);transform:translate(-50%,-50%);z-index:5;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.68rem;font-weight:800}.meter-block{margin:24px 0}.meter-label{display:flex;justify-content:space-between;align-items:center;gap:12px}.meter-label span{color:var(--muted);font-size:.85rem}.dual-meter{position:relative;height:16px;border-radius:99px;background:linear-gradient(90deg,#e8ecef,#d6c8a5 50%,#e8ecef);margin:9px 0}.dual-meter:after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:#777}.meter-marker{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--brand-black);border:3px solid #fff;box-shadow:0 1px 5px #777;transform:translate(-50%,-50%);z-index:2}.key-grid,.blend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.key-grid>div,.blend-grid>div{padding:14px;border:1px solid #ddd7c8;border-radius:10px;background:#faf9f5}.kicker{display:block;font-size:.7rem;letter-spacing:.08em;color:#75643c;margin-bottom:4px}.profile-banner{border-radius:12px;padding:18px 20px;margin-bottom:18px}.profile-banner h2,.profile-banner p{margin:3px 0;color:inherit}.profile-banner span{font-size:.72rem;font-weight:800;letter-spacing:.08em}.growth-box,.report-note{padding:14px;border-left:4px solid var(--brand-gold);background:var(--brand-soft);border-radius:5px}.comm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.comm-card{padding:14px;border:1px solid var(--line);border-radius:10px}.comm-card p{font-size:.92rem}.compare-table{display:grid;gap:1px;background:#dfe3e5;border:1px solid #dfe3e5}.compare-row{display:grid;grid-template-columns:110px repeat(4,1fr);gap:1px;background:#dfe3e5}.compare-row>div,.compare-row>strong{background:#fff;padding:10px;font-size:.86rem}.compare-head>div{font-weight:800;text-align:center}.compare-head .yellow{background:var(--yellow);color:#272000}.compare-head .red{background:var(--red);color:#fff}.compare-head .blue{background:var(--blue);color:#fff}.compare-head .green{background:var(--green);color:#fff}.score-context{border-bottom:1px solid var(--line);padding:5px 0}.score-context:last-child{border:0}.report-page ul{margin-top:6px;padding-left:20px}.report-page li{margin:4px 0}
@media(max-width:760px){.profile-cards,.key-grid,.blend-grid,.comm-grid{grid-template-columns:1fr}.quad-map{height:360px;margin-left:38px;margin-right:38px}.compare-table{overflow-x:auto}.compare-row{min-width:720px}}
@media print{
  body{font-size:9pt;line-height:1.28}
  .report-page{height:9.62in;min-height:9.62in;max-height:9.62in;overflow:hidden;break-after:page;page-break-after:always;padding:0!important}
  .report-page:last-of-type{break-after:auto;page-break-after:auto}
  .report-page .card{margin:0 0 .10in;padding:0;break-inside:auto}
  .report-page h1{font-size:23pt}.report-page h2{font-size:15pt}.report-page h3{font-size:10.5pt}
  .report-page p{margin:.04in 0 .07in}.report-page ul{margin:.04in 0 .07in;padding-left:.18in}.report-page li{margin:.02in 0}
  .report-wrap>.brand-header{height:.40in!important;padding:0 0 .04in!important}.report-wrap>.brand-header img{height:.36in!important;max-height:.36in!important;max-width:1.35in!important}
  .quad-map{height:3.2in;max-width:5.5in;margin:.30in auto}.quad-cell{padding:.10in;font-size:9pt}.you-dot{width:.34in;height:.34in;font-size:5.5pt;border-width:2px}
  .key-grid>div,.blend-grid>div{padding:.08in}.profile-banner{padding:.10in .13in;margin-bottom:.08in}.comm-card{padding:.07in}.comm-card p{font-size:7.8pt}
  .compare-row{grid-template-columns:.85in repeat(4,1fr)}.compare-row>div,.compare-row>strong{padding:.055in;font-size:7.2pt}
  .faq details{padding:.035in 0}.faq summary{font-size:8.2pt}.faq details p{font-size:7.7pt;margin:.02in 0 .04in}
  .report-footer{margin-top:auto;padding-top:.04in;font-size:7pt}
  @page{size:Letter portrait;margin:.42in .50in}
}

/* v1.8 - balanced six-page report layout */
.report-page-head{display:none}
.result-callout{display:grid;gap:13px;margin-top:16px}.result-callout>div{padding-left:14px;border-left:4px solid var(--brand-gold)}.result-callout span{font-size:.72rem;font-weight:800;letter-spacing:.09em;color:#75643c}.result-callout h2,.result-callout h3{margin:3px 0}.result-callout p{margin:4px 0}
.score-panel{padding:8px 0 0}.score-panel h3{margin-top:0}
.lead-copy{font-size:1.02rem;max-width:920px}
.key-grid small{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}
.profile-two-col,.report-grid-2,.two-callouts,.score-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.two-callouts{margin:14px 0}.two-callouts>div{padding:13px;border:1px solid #ddd7c8;border-radius:10px;background:#faf9f5}.two-callouts p{margin:4px 0}
.secondary-card{border-left:5px solid var(--brand-gold)}
.score-context-grid{gap:10px}.score-context-item{padding:10px 12px;border:1px solid var(--line);border-radius:10px}.score-context-item h3{margin:0 0 5px}.score-context-item p{margin:0;font-size:.91rem}
.faq-print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.faq-item{padding:11px 0;border-top:1px solid var(--line);break-inside:avoid}.faq-item h3{font-size:1rem;margin:0 0 4px}.faq-item p{margin:0;font-size:.91rem}.faq-intro{margin-bottom:10px}
.final-note{margin-bottom:0}
@media(max-width:760px){.profile-two-col,.report-grid-2,.two-callouts,.score-context-grid,.faq-print-grid{grid-template-columns:1fr}}

@media print{
  html,body{width:auto!important;background:#fff!important}
  body{font-size:9.4pt!important;line-height:1.30!important}
  .report-wrap{max-width:none!important;padding:0!important}
  .report-wrap>.brand-header{height:.36in!important;padding:0 0 .035in!important;margin:0!important}
  .report-wrap>.brand-header img{height:.33in!important;max-height:.33in!important;max-width:1.25in!important}
  .report-wrap>.stripe{height:4px!important;margin-bottom:.10in!important}
  .report-page{
    position:relative!important;
    height:9.55in!important;
    min-height:9.55in!important;
    max-height:9.55in!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    break-after:page!important;
    page-break-after:always!important;
    padding:0!important;
  }
  .report-page:last-of-type{break-after:auto!important;page-break-after:auto!important}
  .report-page-head{display:flex!important;justify-content:space-between;align-items:center;border-bottom:1px solid #d8d0bd;padding:0 0 .07in;margin:0 0 .10in;font-size:7.5pt;color:#75643c;text-transform:uppercase;letter-spacing:.04em}
  .report-page-head strong{color:#333}
  .report-page .card{margin:0 0 .10in!important;padding:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;break-inside:auto!important}
  .report-page h1{font-size:24pt!important;margin:.02in 0 .06in!important}
  .report-page h2{font-size:15.5pt!important;margin:.06in 0 .07in!important}
  .report-page h3{font-size:10.5pt!important;margin:.06in 0 .035in!important}
  .report-page p{margin:.03in 0 .065in!important}
  .report-date{font-size:8.5pt!important;color:#555}
  .scorehero{grid-template-columns:1.25fr .75fr!important;gap:.24in!important;align-items:start}
  .barrow{grid-template-columns:1.0in 1fr .25in!important;gap:.06in!important;margin:.045in 0!important}
  .bar{height:.13in!important}
  .result-callout{grid-template-columns:1fr 1fr!important;gap:.12in!important;margin-top:.10in!important}.result-callout>div{padding-left:.09in!important}
  .overview-card{margin-top:.06in!important}
  .key-grid{grid-template-columns:repeat(3,1fr)!important;gap:.08in!important;margin:.10in 0!important}
  .key-grid>div,.blend-grid>div{padding:.08in!important}
  .key-grid small{font-size:6.8pt!important}
  .report-note,.growth-box{padding:.08in .10in!important}
  .quad-map{height:2.75in!important;max-width:5.15in!important;margin:.22in auto .24in!important;padding:.09in!important;gap:.11in!important}
  .quad-cell{padding:.06in!important;font-size:8.8pt!important;border-radius:.08in!important}
  .quad-cell span{font-size:7.5pt!important}.you-dot{width:.31in!important;height:.31in!important;font-size:5pt!important;border-width:2px!important}
  .meter-card h2{margin-top:0!important}.meter-block{margin:.09in 0!important}.dual-meter{height:.10in!important;margin:.055in 0!important}.meter-marker{width:.18in!important;height:.18in!important;border-width:2px!important}
  .blend-summary-card{margin-top:.03in!important}.blend-grid{grid-template-columns:repeat(3,1fr)!important;gap:.08in!important;margin:.08in 0!important}.blend-grid p{font-size:8pt!important}
  .profile-banner{padding:.09in .12in!important;margin-bottom:.08in!important;border-radius:.08in!important}
  .profile-banner.red,.profile-banner.blue,.profile-banner.green{color:#fff!important}.profile-banner.yellow{color:#272000!important}
  .profile-banner.red h2,.profile-banner.blue h2,.profile-banner.green h2,.profile-banner.red p,.profile-banner.blue p,.profile-banner.green p{color:#fff!important}
  .profile-banner.yellow h2,.profile-banner.yellow p{color:#272000!important}
  .lead{font-size:10pt!important}
  .profile-two-col,.report-grid-2,.two-callouts,.score-context-grid{grid-template-columns:repeat(2,1fr)!important;gap:.13in!important}
  .report-page ul{margin:.03in 0 .06in!important;padding-left:.18in!important}.report-page li{margin:.018in 0!important}
  .tags{gap:2px!important}.tag{font-size:7.5pt!important;padding:.02in .06in!important}
  .two-callouts>div{padding:.07in!important}
  .secondary-card{padding-left:.10in!important;border-left:3px solid var(--brand-gold)!important}
  .comm-grid{grid-template-columns:repeat(2,1fr)!important;gap:.08in!important}.comm-card{padding:.07in!important}.comm-card p{font-size:7.7pt!important;line-height:1.22!important}
  .communication-mini h2{margin-top:.02in!important}
  .compare-row{grid-template-columns:.82in repeat(4,1fr)!important}.compare-row>div,.compare-row>strong{padding:.045in!important;font-size:6.9pt!important;line-height:1.17!important}
  .score-context-grid{gap:.07in!important}.score-context-item{padding:.06in!important}.score-context-item p{font-size:7.7pt!important;line-height:1.22!important}.score-context-item h3{font-size:9.3pt!important}
  .faq-print-grid{grid-template-columns:repeat(2,1fr)!important;gap:0 .20in!important}.faq-item{padding:.045in 0!important}.faq-item h3{font-size:8.3pt!important;margin:0 0 .02in!important}.faq-item p{font-size:7.45pt!important;line-height:1.20!important;margin:0!important}
  .faq-intro{font-size:8.2pt!important}.final-note{font-size:7.7pt!important}
  .report-footer{display:flex!important;justify-content:space-between!important;margin-top:auto!important;padding-top:.045in!important;border-top:1px solid #d8d0bd!important;text-align:left!important;font-size:6.8pt!important;color:#75643c!important}
  @page{size:Letter portrait;margin:.42in .50in!important}
}

/* v1.9 email workflow */
.email-status{border-left:5px solid var(--brand-gold);background:#fffdf7}
.smtp-summary{padding:12px 14px;background:#faf9f5;border:1px solid #ddd7c8;border-radius:10px;margin:12px 0}
