:root{color-scheme:light;--bg:#f4f8f8;--ink:#1b2833;--green:#087976;--muted:#596975;--line:#dce6e8;--soft:#eaf8f5}*{box-sizing:border-box}body{margin:0;background:linear-gradient(120deg,#eff9f5,#f7fafc);color:var(--ink);font:15px/1.6 Calibri,'Segoe UI',Arial,sans-serif}.form-container{max-width:895px;margin:38px auto 70px;background:#fff;padding:36px 48px;box-shadow:0 12px 50px #143d3b14;border:1px solid #edf1f1;border-radius:14px}.eyebrow{color:var(--green);font-weight:800;letter-spacing:1.5px;font-size:12px}.form-header{border-bottom:2px solid var(--green);padding-bottom:18px;margin-bottom:22px}.form-header h1{font-size:28px;line-height:1.26;margin:8px 0 8px}.form-header h2{font-size:19px;font-weight:600;color:var(--green);margin:0 0 18px}.form-header p{font-size:13px;color:var(--muted);margin:7px 0}.asterisk{color:#c03943;font-weight:bold}.question{padding:21px 4px 23px;border-bottom:1px solid var(--line)}.question-title{font-weight:650;font-size:15px;display:block;margin-bottom:7px}.num{font-weight:700;color:var(--green)}.hint{font-size:13px;color:var(--muted);margin:0 0 12px}.question input,.question select,.login input,.tools input{display:block;width:100%;background:#fff;color:var(--ink);border:1px solid #b9cfd0;padding:12px 14px;min-height:45px;border-radius:6px;font:inherit;outline:none}.question select{cursor:pointer;background-color:#fafffd}.question input:focus,.question select:focus,.login input:focus,.tools input:focus{border-color:var(--green);box-shadow:0 0 0 3px #08797620}.section-title{margin:28px 0 0;padding:12px 16px;background:var(--soft);color:#075e5a;font-size:17px;font-weight:800;border-left:4px solid var(--green)}.actions{padding-top:30px}button,.button-link{display:inline-block;background:var(--green);color:white!important;text-decoration:none;border:0;border-radius:6px;padding:12px 22px;font:600 15px Calibri,Arial,sans-serif;cursor:pointer}.actions p,footer{font-size:12px;color:var(--muted)}footer{padding-top:24px}button:hover,.button-link:hover{background:#065e59}.alert{background:#fff2f2;color:#9d2323;padding:12px;border:1px solid #f3cece;border-radius:5px}.trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.thanks{text-align:center;padding:90px 25px}.check{display:inline-grid;place-items:center;background:var(--green);color:white;border-radius:50%;width:68px;height:68px;font-size:34px}.login{max-width:430px;margin:10vh auto;background:white;padding:35px;border-radius:12px;box-shadow:0 10px 40px #0c2b2b15}.login h1{color:var(--green)}.login label{display:block;margin-bottom:8px}.login button{margin-top:16px;width:100%}.dashboard{max-width:1350px;margin:35px auto;padding:24px;background:white;border-radius:12px}.report-top,.tools{display:flex;align-items:center;justify-content:space-between;gap:18px}.report-top h1{margin:5px 0}.report-top p{color:var(--muted)}.tools{margin:20px 0}.tools form{display:flex;gap:8px;flex:1}.tools input{max-width:460px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:#eaf6f4;text-align:left}td,th{border-bottom:1px solid var(--line);padding:11px;white-space:nowrap}tr:hover td{background:#f8fbfb}.pager{display:flex;justify-content:space-between;margin-top:15px}.detail-grid{display:grid;grid-template-columns:40% 60%;border-top:1px solid var(--line)}.detail-grid dt,.detail-grid dd{margin:0;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.detail-grid dt{font-weight:bold;background:#f2f9f8}@media(max-width:700px){.form-container{margin:0;padding:20px 18px;border-radius:0}.form-header h1{font-size:23px}.dashboard{margin:0;padding:14px}.report-top,.tools{align-items:stretch;flex-direction:column}.tools form{width:100%}.tools input{min-width:0}.detail-grid{grid-template-columns:1fr}.detail-grid dd{padding-top:0}}

/* Alba Tower branded header, responsive and accessible */
.brand-header{display:flex;align-items:center;gap:25px;padding:4px 0 23px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.alba-logo{display:block;flex:none;width:138px;height:auto;object-fit:contain}
.brand-heading{min-width:0}.brand-heading .eyebrow{font-size:15px;letter-spacing:.5px;color:#315446;font-weight:800}
.brand-subtitle{font-size:13px;letter-spacing:1.8px;color:#90702a;font-weight:700;margin-top:8px}
@media(max-width:550px){.brand-header{flex-direction:column;gap:8px;text-align:center}.alba-logo{width:110px}.brand-heading .eyebrow{font-size:13px}}

/* PDF supporting documents - scoped to the customer form */
.document-upload{margin-top:15px;padding:14px 16px;background:#f4f9f7;border:1px solid #d7e6df;border-radius:8px}
.document-upload-label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;color:#174d43}
.optional-label{font-weight:400;font-size:12px;color:#637471;margin-left:7px}
.question .document-upload input[type=file]{min-height:0;padding:10px;background:white;cursor:pointer}
.question .document-upload input[type=file]::file-selector-button{background:#087976;color:#fff;border:0;border-radius:5px;padding:8px 13px;margin-right:14px;cursor:pointer;font:600 13px Calibri,Arial,sans-serif}
.upload-hint{font-size:12px;color:#536967;margin:8px 0 0}

/* Compact PDF uploads appear in the question heading (not below the original answer). */
.question-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.question-heading-row .question-title{margin-bottom:0;min-width:0;flex:1}
.inline-upload{display:flex;gap:7px;align-items:center;flex:none;max-width:48%}
.inline-pdf-file{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;clip-path:inset(50%);padding:0!important;border:0!important}
.inline-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;padding:7px 12px;border:1px solid #087976;background:#087976;color:#fff;border-radius:6px;font-weight:700;font-size:12px;line-height:1.3;cursor:pointer;transition:background .2s ease}
.inline-upload-button:hover{background:#086660}
.inline-pdf-file:focus-visible+.inline-upload-button{outline:3px solid #b4d9d1;outline-offset:2px}
.inline-upload-name{font-size:11px;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#49615a}
@media(max-width:550px){.question-heading-row{flex-wrap:wrap}.inline-upload{max-width:100%;margin-left:auto}.inline-upload-name{max-width:105px}}

/* Question 6 reduced vertical spacing and upload clear control */
.question-trn{padding-top:13px;padding-bottom:16px}
.question-trn .question-heading-row{margin-bottom:3px}
.question-trn .hint{margin-bottom:7px}
.inline-upload{gap:5px}
.inline-upload-button .upload-required{color:#fff;font-size:14px}
.inline-upload-clear{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ddc1c1;background:#fff4f4;color:#a82127;border-radius:5px;width:23px;height:23px;min-width:23px;padding:0;font-size:17px;font-weight:700;line-height:1;cursor:pointer}
.inline-upload-clear[hidden]{display:none!important}
.inline-upload-clear:hover{background:#f9dede;color:#75151b}
@media(max-width:550px){.question-trn .question-heading-row{gap:5px}}
