:root{--navy:#173d55;--teal:#126b69;--line:#dce5e7;--muted:#4a636e;--paper:#f3f7f7;--warn:#745114}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:#163140}header{display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line);padding:18px max(5vw,20px)}.brand{letter-spacing:3px;font-size:18px}.brand strong{color:var(--teal)}main{max-width:920px;margin:36px auto;padding:0 20px}.intro{max-width:680px;margin-bottom:30px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--teal)}h1{font-size:clamp(32px,5vw,48px);line-height:1.12;letter-spacing:-1px;margin:14px 0 18px}h2{font-size:22px;margin:0 0 12px}p{color:var(--muted)}.card{background:#fff;padding:26px;border:1px solid var(--line);border-radius:16px;margin-bottom:22px;box-shadow:0 5px 22px #213f4e05}label{display:block;font-weight:600;margin:12px 0 8px}label span{display:block;font-weight:400;font-size:14px;color:var(--muted)}input{width:100%;border:1px solid #a9bcc4;border-radius:9px;padding:12px;font:inherit;background:white}input:focus{outline:3px solid #d2ebea;border-color:var(--teal)}input[type=number]{max-width:240px}input[type=file]{font-size:14px;background:#f9fbfb;padding:12px 8px}.photos{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:12px}.photos>div{min-width:0}img{width:100%;max-height:210px;object-fit:contain;border-radius:8px;margin-top:12px;border:1px solid var(--line)}button{border:none;border-radius:9px;font:600 15px/1.4 system-ui;background:var(--teal);color:white;padding:13px 19px;cursor:pointer;margin:10px 0}button:disabled{opacity:.55;cursor:wait}.secondary{background:#e9f1f2;color:var(--navy);border:1px solid #b8d2d5}.subtle{background:transparent;color:var(--teal);padding:8px 12px}.buttons{display:flex;flex-wrap:wrap;gap:10px}#uploadButton{width:100%;font-size:17px}.fine,footer{font-size:13px;color:var(--muted)}footer{margin:26px 0 40px}.error{color:#97272c;white-space:pre-line}.warning{background:#fff5dd;padding:12px;border-radius:8px;color:var(--warn)}progress{width:100%;height:14px;accent-color:var(--teal)}table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}td,th{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px}#jobs{max-height:300px;overflow:auto}#extracted{overflow:auto}#testResult{white-space:pre-line}.joblink{display:block;width:100%;text-align:left;background:#f2f7f7;color:var(--navy);font-size:14px}[hidden]{display:none!important}@media(max-width:620px){main{margin-top:25px;padding:0 14px}.card{padding:19px}.photos{grid-template-columns:1fr;gap:8px}.buttons{display:block}.buttons button{width:100%;margin:5px 0}}
