:root{--navy:#17194a;--cyan:#00adef;--pale:#f0f6f9;--line:#d9e4e9;--ink:#202839;--danger:#bb3041;--success:#087b57}*{box-sizing:border-box}body{margin:0;background:#f8fbfc;color:var(--ink);font:16px/1.5 Arial,sans-serif}.topbar{min-height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:10px max(5vw,20px)}.brand{display:flex;gap:13px;align-items:center;color:var(--navy);text-decoration:none}.brand strong{font-size:25px;letter-spacing:-1px}.brand small{display:block;font-size:11px;letter-spacing:.3px}.logo-slot{border:1px dashed #9bb5c2;border-radius:4px;color:#52717f;font-size:9px;font-weight:bold;line-height:1.05;text-align:center;padding:6px;width:42px;height:42px}nav{display:flex;align-items:center;gap:16px}.link-button{border:0;background:none;color:var(--navy);font:inherit;cursor:pointer}.container{max-width:1120px;margin:0 auto;padding:38px 20px 56px}.page-heading,.protocol-header{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:30px}h1,h2,h3{color:var(--navy);line-height:1.2}h1{font-size:clamp(28px,4vw,39px);margin:4px 0 9px}h2{font-size:22px;margin:0 0 16px}h3{font-size:23px;margin:13px 0 4px}.eyebrow{color:#59717e;text-transform:uppercase;letter-spacing:1.4px;font-size:12px;font-weight:bold;margin:0}.card,.empty{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;box-shadow:0 5px 18px rgba(24,44,62,.04)}section{margin-bottom:32px}.protocol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.protocol-card{display:flex;flex-direction:column;align-items:flex-start}.progress-text{font-weight:bold}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 17px;border-radius:7px;border:1px solid transparent;text-decoration:none;font-weight:bold;font-size:15px;cursor:pointer}.primary{background:var(--cyan);color:#05283b}.secondary{background:#fff;color:var(--navy);border-color:#9eb6c2}.complete-button{background:var(--navy);color:#fff}.button-row{display:flex;gap:10px;flex-wrap:wrap}.protocol-card .button-row{margin-top:auto}.pill{font-size:12px;font-weight:bold;border-radius:99px;padding:4px 10px}.neutral{background:#e8eef1;color:#50636d}.complete,.yes{background:#dff5ed;color:var(--success)}.no{background:#fde7eb;color:var(--danger)}.fine-print{font-size:13px;color:#637783;margin-top:18px}.back{display:inline-block;color:var(--navy);font-weight:bold;text-decoration:none;margin-bottom:20px}.form-card{max-width:640px}.form-card form,.login-card form{display:grid;gap:18px}label{display:block;font-weight:bold;color:var(--navy)}input,select,textarea{display:block;width:100%;font:inherit;margin-top:6px;padding:12px;border:1px solid #aebfc8;border-radius:7px;background:#fff;color:var(--ink)}input:disabled{background:#edf3f5}.field-error{color:var(--danger)}.login-card{max-width:470px;margin:9vh auto}.login-card .button{width:100%}.message{padding:13px 16px;margin-bottom:18px;border-radius:7px;background:#e3f4fb;border-left:4px solid var(--cyan)}.message.error{background:#fdebef;border-color:var(--danger)}.progress-box{background:var(--pale);border-left:4px solid var(--cyan);padding:13px 18px;min-width:145px}.progress-box strong{font-size:25px;color:var(--navy);display:block}.progress-box span{font-size:12px}.inspection-card{padding:25px}.inspection-head{display:flex;justify-content:space-between;gap:15px}.inspection-head h2{margin-bottom:5px}.inspection-head p{margin:0;color:#61737d}.decision{display:flex;gap:12px;margin:22px 0}.decision label{position:relative;flex:1}.decision input{position:absolute;opacity:0}.decision span{display:flex;justify-content:center;align-items:center;min-height:55px;border-radius:7px;border:2px solid var(--line);font-size:18px;font-weight:bold}.yes-choice{color:var(--success)}.no-choice{color:var(--danger)}.decision input:checked+.yes-choice{background:#dff5ed;border-color:var(--success)}.decision input:checked+.no-choice{background:#fde7eb;border-color:var(--danger)}.upload-label{margin-top:17px}.upload-label input{padding:9px}.upload-label small{display:block;color:#687984;margin-top:5px;font-weight:normal}.photo-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.photo-list span{font-size:13px;background:#edf4f6;padding:5px 8px;border-radius:5px}.signature-card{max-width:900px}#signature-pad{display:block;width:100%;height:190px;margin:10px 0;border:2px dashed #92acb8;border-radius:8px;background:#fff;touch-action:none}.saved-signature{color:var(--success);font-weight:bold}.sticky-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;background:rgba(248,251,252,.95);border-top:1px solid var(--line);padding:16px 0}dialog{max-width:470px;border:0;border-radius:12px;padding:26px;box-shadow:0 15px 50px #001a}dialog::backdrop{background:#071c2a99}.complete-view{max-width:700px;text-align:center;margin:7vh auto}.success-icon{width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;background:#dff5ed;border-radius:50%;color:var(--success);font-size:36px;font-weight:bold}.complete-view .button-row{justify-content:center;margin:22px 0}.complete-view .back{margin-top:12px}footer{padding:20px max(5vw,20px);background:#edf3f5;color:#59717e;font-size:12px;border-top:1px solid var(--line)}@media(max-width:650px){.topbar{padding:9px 15px}.user{display:none}.container{padding:26px 15px 45px}.page-heading,.protocol-header{display:block}.page-heading .button{margin-top:16px;width:100%}.card{padding:18px}.inspection-head{display:block}.inspection-head .pill{display:inline-block;margin-top:10px}.sticky-actions .button{width:100%}.button-row .button{flex:1}.progress-box{display:inline-block;margin-top:16px}.logo-slot{display:none}}
