:root{color-scheme:light;--blue:#1d5ed6;--navy:#082344;--ink:#173551;--muted:#536a81;--border:#d6e1ed;--paper:#fff;--background:#f1f5fa}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.17;letter-spacing:-.035em;margin-bottom:.45rem}h2{font-size:1.3rem;line-height:1.3;margin-bottom:.9rem}h3{font-size:1.05rem;margin-top:1rem}p{margin-bottom:1rem}a{color:var(--blue);text-underline-offset:3px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;border:1px solid var(--blue);border-radius:10px;background:var(--blue);color:#fff;padding:11px 18px;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.3}button:disabled{opacity:.55;cursor:not-allowed}button.secondary,.button.secondary{background:#fff;color:var(--ink);border-color:#c9d8e7}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #61a6ff;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}.app-header{min-height:84px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px max(22px,calc((100vw - 1180px)/2));gap:18px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:750;font-size:1.1rem;line-height:1.3;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:42px;height:45px;background:#1d5ed6;border-radius:9px;color:#fff;font-size:1.05rem;letter-spacing:-1px}.brand small{display:block;color:#8fc9ff;font-weight:650;letter-spacing:.13em;font-size:.68rem;margin-top:4px}.header-actions{display:flex;align-items:center;gap:18px;font-size:.8rem}.icon-button{background:transparent;border-color:#436482;color:#fff;min-height:40px;padding:8px 13px;font-size:.85rem}#content{max-width:1180px;margin:0 auto;padding:34px 22px calc(115px + env(safe-area-inset-bottom));outline:none}#notice{max-width:1136px;margin:18px auto 0;background:#e4effe;border-left:4px solid var(--blue);padding:15px 18px;font-size:.95rem;overflow-wrap:anywhere}.loading{padding:50px;text-align:center}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:9}.skip:focus{top:10px}.heading-row,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dashboard-heading{margin-bottom:24px}.dashboard-heading p,.job-heading p{color:var(--muted);margin-bottom:10px}.kicker{display:block;color:var(--blue);font-size:.75rem;letter-spacing:.15em;font-weight:750;margin-bottom:10px}.badge{font-size:.75rem;background:#eaf1fc;color:#194c91;border:1px solid #cbdcf4;border-radius:6px;padding:5px 9px;white-space:nowrap;font-weight:650}.segment{display:flex;gap:4px;background:#dfe8f4;border-radius:12px;padding:5px;width:max-content;max-width:100%;margin-bottom:24px}.segment button{border:0;background:transparent;color:var(--muted);min-width:110px}.segment button[aria-pressed=true]{background:white;color:var(--navy);box-shadow:0 2px 6px #10345010}.assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.assignment{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;box-shadow:0 3px 10px #16334a04}.assignment .heading-row{align-items:center;margin-bottom:22px;gap:8px}.assignment h2{font-size:1.25rem;margin-bottom:5px}.assignment p{color:var(--muted);font-size:.95rem}.fee{font-size:1.2rem;font-variant-numeric:tabular-nums}.appointment{font-size:.9rem;font-weight:650;border-block:1px solid var(--border);padding:13px 0;margin:4px 0 15px}.scope{white-space:pre-wrap;overflow-wrap:anywhere}.assignment .scope{flex:1}.assignment button+button{margin-top:10px}.device-note{font-size:.85rem!important;color:#1558aa!important}.device-panel{display:grid;grid-template-columns:1fr 230px;gap:40px;border-top:1px solid var(--border);padding-top:30px;margin-top:40px}.device-panel p{max-width:730px}.device-actions{display:flex;flex-direction:column;gap:18px;align-items:stretch}.device-actions a{text-align:center;font-size:.95rem}.help,small{color:var(--muted);font-size:.85rem;line-height:1.55}.panel{background:white;border:1px solid var(--border);border-radius:15px;padding:26px;margin-bottom:20px;min-width:0}.empty{padding:45px 28px;text-align:center;grid-column:1/-1}.empty p{color:var(--muted);max-width:500px;margin:0 auto 24px}.empty-symbol{display:grid;place-items:center;width:65px;height:65px;border:1px solid var(--border);border-radius:15px;background:#eaf1fb;color:var(--blue);font-weight:750;font-size:1.5rem;margin:0 auto 22px}.welcome{max-width:600px;margin:20px auto;padding:38px}.welcome .button,.welcome button,.text-link{display:block;margin-top:20px;text-align:center}.back-button{background:none;color:var(--muted);padding:0 0 15px;min-height:36px;border:0;font-size:.9rem}.job-heading .heading-row{margin-top:9px}.sync-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0 20px;margin:8px 0 18px;border-bottom:1px solid var(--border)}.sync-bar strong{display:block;font-size:.88rem}.sync-bar small{font-size:.8rem}.sync-bar button{min-width:130px}.capture-steps{display:flex;gap:8px;margin:0 0 24px}.capture-steps button{flex:1;justify-content:start;color:var(--muted);background:transparent;border-color:var(--border);font-size:.9rem;padding:13px}.capture-steps button span{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;background:#dce7f4;border-radius:6px;font-size:.8rem}.capture-steps button[aria-pressed=true]{background:#fff;color:var(--blue);border-color:var(--blue)}.capture-steps button[aria-pressed=true] span{background:var(--blue);color:white}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.document-form,fieldset{border:0;padding:0;margin:0;min-width:0}.document-form:disabled input,.document-form:disabled select,.document-form:disabled textarea,fieldset:disabled textarea{background:#f3f6fa;color:#4c637c}.section-heading{margin:22px 0 18px;align-items:center}.section-heading h2,.section-heading p{margin-bottom:4px}.section-heading p{color:var(--muted);font-size:.9rem}label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:650;margin:0 0 19px}label input,label textarea,label select{width:100%;min-width:0;min-height:48px;padding:12px;border-radius:8px;border:1px solid #bacbde;background:white;color:var(--ink);font-size:1rem;font-weight:400}label select{appearance:auto}label textarea{resize:vertical;line-height:1.6}label small{font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.panel>.button,.panel>button{margin-bottom:8px}.panel .heading-row button{min-height:38px;font-size:.85rem;padding:8px 10px}.checklist details{border-top:1px solid var(--border)}.checklist summary{display:flex;gap:14px;align-items:center;padding:18px 0;cursor:pointer;font-size:.95rem;font-weight:650;list-style:none}.checklist summary:after{content:'+';color:var(--blue);margin-left:4px;font-size:1.3rem}.checklist details[open] summary:after{content:'−'}.checklist .number{font-size:.75rem;color:var(--blue);font-variant-numeric:tabular-nums}.check-status{margin-left:auto;font-size:.8rem;color:var(--muted);font-weight:450;text-align:right}.checklist details>div{padding-left:32px}.evidence-layout{display:grid;grid-template-columns:350px 1fr;gap:24px;align-items:start}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.photo-grid figure{margin:0;min-width:0;background:white;border:1px solid var(--border);border-radius:13px;overflow:hidden}.photo-grid img{display:block;width:100%;height:190px;object-fit:cover;background:#dae4ef}.photo-grid figcaption{padding:16px}.photo-grid figcaption strong{display:block;font-size:.95rem;margin:12px 0 7px;overflow-wrap:anywhere}.photo-grid figcaption small{display:block;font-size:.78rem}.photo-grid figure>button{margin:0 16px 16px;font-size:.85rem;min-height:40px}.photo-placeholder{display:grid;place-items:center;min-height:180px;background:#dce6f2;color:var(--muted);text-align:center;font-size:.9rem;padding:20px}.camera-input{border:1px dashed #719bce;border-radius:10px;background:#f2f7fe;padding:17px}.camera-input input{background:white}.checkbox{display:flex;flex-direction:row;align-items:center;font-weight:450;gap:12px}.checkbox input{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--blue)}#photo-form button{width:100%}.issues{padding-left:20px;font-size:.95rem}.issues li{padding:7px 0;border-bottom:1px solid #edf1f6}.review-stats{display:flex;gap:35px;margin:30px 0 8px}.review-stats strong{display:block;font-size:1.8rem;font-variant-numeric:tabular-nums}.review-stats span{font-size:.85rem;color:var(--muted)}.banner{border-left:4px solid var(--blue);padding:16px 20px;background:#e4edfa}.conflict{border-color:#c69b36;background:#fffbef}.conflict details{max-height:350px;overflow:auto;padding:15px;background:white;border:1px solid #ecd9b1}.conflict details summary{cursor:pointer;font-weight:650}.conflict p{white-space:pre-wrap}.conflict h4{margin-bottom:3px}#navigation{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,700px);display:flex;background:#fff;border:1px solid var(--border);border-bottom:0;box-shadow:0 -5px 30px #092b4a0b;border-radius:18px 18px 0 0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:4px}#navigation:empty{display:none}#navigation button{flex:1;flex-direction:column;background:white;border:0;color:var(--muted);font-size:.78rem;gap:1px;border-radius:10px;padding:8px 4px;min-width:0}#navigation button span{font-size:.9rem;font-weight:750;color:#748da7}#navigation button[aria-current=page]{color:var(--blue);background:#eaf2fe}#navigation button[aria-current=page] span{color:var(--blue)}dialog{border:1px solid var(--border);border-radius:18px;padding:30px;width:min(92%,500px);color:var(--ink);box-shadow:0 12px 80px #08234433}dialog::backdrop{background:#08234488}dialog p{line-height:1.6}dialog .button-row{justify-content:flex-end}
@media(max-width:1000px){.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-layout{grid-template-columns:310px 1fr}.photo-grid{grid-template-columns:1fr}.device-panel{gap:24px}.app-header{padding-inline:22px}}
@media(max-width:700px){.app-header{padding:15px 17px;min-height:79px;gap:10px}.brand{font-size:.95rem;gap:9px}.brand-mark{width:36px;height:40px;font-size:.9rem}.brand small{font-size:.63rem}.header-actions{gap:7px;align-items:flex-end;flex-direction:column;font-size:.7rem}.icon-button{min-height:28px;padding:4px 10px;font-size:.72rem}#content{padding:25px 16px calc(110px + env(safe-area-inset-bottom))}#notice{margin:0;border-left:0;border-bottom:1px solid #b7d0f0;padding:13px 17px;font-size:.85rem}.assignment-grid,.form-grid,.evidence-layout,.device-panel{grid-template-columns:1fr}.assignment{padding:23px}.assignment-grid{gap:16px}.heading-row{gap:12px}.dashboard-heading>button{min-height:42px;font-size:.85rem;padding:10px}.segment{width:100%}.segment button{flex:1;min-width:0;font-size:.88rem;padding:10px}.panel{padding:22px 18px;border-radius:13px}.capture-steps{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}.capture-steps button{font-size:.85rem;padding:10px;gap:8px}.capture-steps button span{width:23px;height:23px;font-size:.75rem}.job-heading .badge{font-size:.66rem;white-space:normal;text-align:center}.job-heading h1{font-size:1.65rem}.sync-bar button{font-size:.85rem;min-width:92px;padding:10px 12px}.sync-bar small{font-size:.72rem}.section-heading{align-items:flex-start;gap:14px}.section-heading>button{font-size:.85rem;white-space:nowrap;padding:10px 12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-grid img{height:150px}.photo-grid figcaption{padding:12px}.photo-grid figcaption .badge{font-size:.64rem;white-space:normal}.photo-grid figcaption strong{font-size:.84rem}.photo-grid figure>button{margin-inline:10px;font-size:.75rem;padding:8px}.checklist summary{font-size:.88rem;gap:10px;align-items:flex-start}.check-status{font-size:.7rem;max-width:100px}.checklist details>div{padding-left:0}.device-actions{align-items:stretch}.device-panel{margin-top:28px}.button-row>button{flex:1;font-size:.88rem}.welcome{padding:30px 23px}.help,small{font-size:.85rem}dialog{padding:25px}.evidence-layout{gap:0}}
@media(max-width:370px){.photo-grid{grid-template-columns:1fr}.brand small{letter-spacing:.07em}.check-status{max-width:75px}.panel{padding:19px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
