*{box-sizing:border-box}
:root{--bg:#f3f5f7;--card:#fff;--text:#131a25;--muted:#687180;--line:#d9dfe7;--navy:#111827;--navy2:#1f2937;--soft:#eef2f6;--pass:#176b3a;--fail:#a72b2b;--nff:#8b5e00;--info:#1e4f7a}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
.hero{background:var(--navy);color:#fff;padding:36px 20px}
.hero-inner{max-width:1180px;margin:auto}
.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.brand-mark{width:48px;height:48px;border-radius:14px;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:900;letter-spacing:-.05em}
.brand-name{font-weight:900;font-size:1.1rem}.brand-url{font-size:.8rem;opacity:.62}
.eyebrow{letter-spacing:.18em;font-weight:900;font-size:.78rem;opacity:.72;margin:0 0 12px}
h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;margin:0;letter-spacing:-.03em}
.subtitle{font-size:clamp(1rem,2vw,1.3rem);opacity:.74;margin:20px 0}
.hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.hero-meta div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 14px;min-width:150px}
.hero-meta span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.hero-meta strong{font-size:.95rem}
.top-actions,.action-row,.preview-toolbar{display:flex;gap:10px;flex-wrap:wrap}
.container{max-width:1180px;margin:28px auto;padding:0 20px 50px}
.card,.action-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.section-heading>span{display:grid;place-items:center;min-width:46px;height:46px;border-radius:13px;background:var(--navy);color:#fff;font-weight:900;font-size:.82rem}
.section-heading h2{margin:0;font-size:1.28rem}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:.92rem}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
label{display:block;font-size:.9rem;font-weight:750;color:#27313d}
input,select,textarea{width:100%;margin-top:6px;border:1px solid #cbd3dc;border-radius:11px;padding:12px 13px;font:inherit;color:var(--text);background:#fff}
textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(30,79,122,.1);border-color:#6a86a0}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin:14px 0 18px}.checks.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.checks label,.sign-checks label{font-weight:500;display:flex;gap:8px;align-items:flex-start}.checks input,.sign-checks input{width:auto;margin:4px 0 0;accent-color:var(--navy)}
.sign-checks{display:grid;gap:10px;margin-top:18px;padding:16px;background:#f7f8fa;border-radius:12px;border:1px solid var(--line)}
.btn{border:0;border-radius:11px;padding:12px 16px;font-weight:900;cursor:pointer}.btn.primary{background:#fff;color:var(--navy)}.btn.secondary{background:#293548;color:#fff;border:1px solid #536078}.btn.ghost{background:transparent;color:#fff;border:1px solid #657082}.dark-btn{background:var(--navy)!important;color:#fff!important}
.system-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f4f7fa;border:1px solid #dce3ea;border-radius:12px;padding:14px 16px;margin-bottom:18px}.system-banner small{display:block;color:var(--muted)}.system-banner strong{font-size:1.08rem;letter-spacing:.04em}.mini-btn{border:1px solid #ccd4dd;background:#fff;border-radius:9px;padding:8px 10px;font-weight:800;cursor:pointer}
.chooser-card{border-style:dashed;background:#fafbfc}
.status-preview{border-radius:12px;padding:16px;font-size:1rem;font-weight:900;margin-bottom:18px;border:1px solid}.status-preview.neutral{background:#f4f5f7;border-color:#dadde2;color:#59616d}.status-preview.pass{background:#edf8f1;border-color:#b8ddc7;color:var(--pass)}.status-preview.fail{background:#fff0f0;border-color:#efbcbc;color:var(--fail)}.status-preview.nff{background:#fff8e8;border-color:#ead4a2;color:var(--nff)}.status-preview.info{background:#eef5fb;border-color:#bed3e6;color:var(--info)}
.upload-box{display:block;text-align:center;border:2px dashed #cbd3dc;border-radius:14px;padding:26px;cursor:pointer;background:#fafbfc}.upload-box input{display:none}.upload-title{display:block;font-weight:900;font-size:1.05rem}.upload-copy{display:block;color:var(--muted);font-weight:500;margin-top:4px;font-size:.88rem}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.photo-thumb{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#eee;aspect-ratio:4/3}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb button{position:absolute;right:6px;top:6px;border:0;border-radius:999px;width:28px;height:28px;background:rgba(17,24,39,.85);color:#fff;font-weight:900;cursor:pointer}
.action-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#162033;color:#fff}.action-card h2{margin:0}.action-card p{margin:5px 0 0;opacity:.72}.action-card .btn.secondary{background:#27344a}
.footer{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;text-align:center;color:var(--muted);padding:24px 18px}.footer strong{color:#27313d}
.hidden{display:none!important}.preview{margin-top:10px}.preview-toolbar{justify-content:flex-end;margin-bottom:14px}.preview-toolbar .btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.report-sheet{background:#fff;max-width:900px;margin:auto;padding:44px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.07)}
.report-brand{display:flex;justify-content:space-between;gap:24px;border-bottom:4px solid var(--navy);padding-bottom:18px}.report-brand-left{display:flex;gap:12px;align-items:center}.print-logo{width:50px;height:50px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.report-brand h1{font-size:1.55rem;color:var(--navy)}.report-brand p{margin:2px 0;color:#555}.report-ref{text-align:right;font-size:.84rem}
.report-section{margin:22px 0;break-inside:avoid}.report-section h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #bbb;padding-bottom:7px;margin-bottom:12px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px}.report-row{font-size:.9rem}.report-row strong{display:inline-block;min-width:150px}
.result-box{border:2px solid var(--navy);padding:16px;border-radius:10px;font-weight:900;font-size:1.05rem}.result-box.pass{border-color:var(--pass);color:var(--pass);background:#f4fbf6}.result-box.fail{border-color:var(--fail);color:var(--fail);background:#fff7f7}.result-box.nff{border-color:var(--nff);color:var(--nff);background:#fffbf1}.result-box.info{border-color:var(--info);color:var(--info);background:#f5faff}
.badge{display:inline-block;border:1px solid #aaa;border-radius:999px;padding:3px 9px;margin:2px 4px 2px 0;font-size:.76rem}.report-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.report-photos img{width:100%;max-height:240px;object-fit:contain;border:1px solid #ddd;border-radius:8px}
.signoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.signoff{border:1px solid #bbb;border-radius:8px;padding:14px;min-height:90px}.signoff strong{display:block;margin-bottom:5px}.confirmed{font-size:.78rem;font-weight:800;margin-top:8px}
@media(max-width:800px){
  .grid-2,.grid-3,.checks,.checks.three-col,.report-grid,.signoff-grid{grid-template-columns:1fr}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .top-actions{width:100%}.top-actions .btn{flex:1}.action-card{align-items:flex-start;flex-direction:column}.report-brand{flex-direction:column}.report-ref{text-align:left}
  .hero{padding-top:28px}.hero-inner h1{font-size:2.15rem}.subtitle{font-size:1.03rem}
}
@media print{
  body{background:#fff}.no-print,#reportForm{display:none!important}.preview,.hidden#reportPreview{display:block!important}.container{margin:0;padding:0;max-width:none}.report-sheet{border:0;box-shadow:none;max-width:none;padding:8mm}.report-section{break-inside:avoid}.report-photos img{max-height:200px}@page{size:A4;margin:9mm}
}
/* Rework QA V1.3 laptop/desktop refinements */
@media (min-width: 1100px) {
 .hero-inner,.container {max-width:1380px}
 .hero {padding:44px 32px}
 .container {padding-left:32px;padding-right:32px}
 .card {padding:30px 34px}
 .grid-2 {gap:20px 24px}
 .grid-3 {gap:18px 22px}
 .report-sheet {max-width:1020px}
}
@media (min-width: 801px) and (max-width: 1099px) {
 .hero-inner,.container {max-width:100%}
 .card {padding:26px}
}
