:root{font:16px/1.5 system-ui,sans-serif;color:#17333e;background:#eef3f5;--ink:#153a47;--accent:#087e85;--border:#d3dfe3}*{box-sizing:border-box}body{margin:0}header{background:var(--ink);color:white;padding:18px max(20px,calc((100vw - 1120px)/2));display:flex;gap:18px;align-items:center;flex-wrap:wrap}header button{color:white;border-color:#71909b;background:transparent}.brand{font-size:20px;font-weight:750;border:0;padding:0;display:flex;gap:10px;align-items:center}#sync{margin-left:auto;font-size:14px}main{max-width:1120px;margin:36px auto;padding:0 24px 80px}h1{font-size:30px;line-height:1.2;margin:8px 0}h2{font-size:21px;margin:0}h3{font-size:18px;margin:0 0 6px}p{margin:8px 0 16px}.muted{color:#5a717b;font-size:14px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.toolbar input{flex:1;min-width:170px}.spacer{flex:1}button,.button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:10px 16px;background:white;color:var(--ink);text-decoration:none;display:inline-block}.primary{background:var(--accent);color:white;border-color:var(--accent)}button:hover,.button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e4ab42;outline-offset:3px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.card{background:white;border:1px solid var(--border);border-radius:12px;padding:22px}.job{cursor:pointer;text-align:left;width:100%;min-height:170px;border-top:4px solid var(--accent)}.job h2{margin:4px 0 10px}.count{font-size:14px;color:#5a717b}.empty{padding:48px 28px;text-align:center;background:white;border:2px dashed #bdced5;border-radius:12px}.empty p{max-width:500px;margin:10px auto 24px}.asset{margin-bottom:14px}.assethead{display:flex;gap:15px;justify-content:space-between;align-items:flex-start}.tag{font-size:14px;border-radius:5px;background:#e7f2f3;color:#086b71;padding:4px 8px;white-space:nowrap}.tag.no{background:#fff1d2;color:#785600}.remarks{border-left:3px solid #cfdee4;padding-left:14px;margin:18px 0;white-space:pre-wrap}.notes{background:#eef7f7;padding:12px 14px;border-radius:7px;white-space:pre-wrap}.photos{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.photos img{width:110px;height:120px;object-fit:cover;border-radius:6px;cursor:pointer}.photobuttons{display:flex;gap:10px;margin:14px 0}.photoitem{position:relative}.photoitem button{position:absolute;right:3px;top:3px;padding:2px 6px}label{display:block;margin:12px 0;font-size:14px;font-weight:600}input,textarea,select{width:100%;font:inherit;padding:11px 12px;border:1px solid #b8cbd2;border-radius:7px;color:var(--ink);background:white;margin-top:5px}textarea{resize:vertical}dialog{border:0;border-radius:14px;padding:26px;width:min(580px,94vw);max-height:92vh;box-shadow:0 20px 80px #153a4750}dialog::backdrop{background:#0d273a70}.modalhead{display:flex;justify-content:space-between;align-items:center;gap:15px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#153a47;color:white;padding:12px 20px;border-radius:8px;max-width:90vw;display:none;z-index:9}.summary{display:flex;gap:8px;flex-wrap:wrap}.banner{padding:12px 16px;background:#fff1d2;border-radius:8px;margin:16px 0}.progress{height:5px;background:#d7e4e8;margin:18px 0}.progress span{height:100%;display:block;background:var(--accent)}@media(max-width:600px){header{padding:14px 16px;gap:10px}.brand{font-size:18px}#sync{font-size:12px}main{margin-top:24px;padding:0 16px 60px}h1{font-size:26px}.card{padding:17px}.assethead{flex-wrap:wrap}.toolbar{gap:8px}.toolbar button{flex:1}.photos img{width:95px;height:110px}dialog{padding:20px}}
.photos .photo{padding:0;border:0;background:none;line-height:0}
[hidden]{display:none!important}

.asset-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.asset-controls label{margin:0;min-width:140px;flex:1}.asset-controls label:first-child{flex:2;min-width:220px}.asset-controls button{margin-bottom:0}.asset-group{margin:28px 0}.group-title{padding:12px 0;border-bottom:2px solid #bdced5;margin-bottom:16px}.group-title span{font-size:14px;font-weight:400;margin-left:10px;color:#5a717b}.asset-location{font-size:17px;font-weight:600;margin:6px 0}.photo-section{margin:18px 0;border:2px solid;border-radius:10px;padding:16px}.photo-section.original{border-color:#8097ad;background:#f2f5fa}.photo-section.visit{border-color:#087e85;background:#effafa}.photo-section h4{margin:0;font-size:18px}.photo-section h4 span{font-size:14px}.photos figure{margin:0;width:160px}.photos figure img{width:160px;height:170px}.photos figcaption{font-size:12px;margin-top:6px;overflow-wrap:anywhere;color:#17333e}.visit-notes h4,.remarks h4{margin:0 0 12px}.notes{margin:10px 0}
@media(max-width:600px){.asset-controls{gap:10px}.asset-controls label:first-child{flex-basis:100%}.asset-controls label{min-width:130px}.photos figure{width:130px}.photos figure img{width:130px;height:145px}}

.job-tabs{display:flex;gap:8px;margin:18px 0 24px;flex-wrap:wrap}.job-tabs button{display:flex;gap:10px;align-items:center}.job-tabs button.active{background:var(--ink);color:white}.job-tabs span{background:#dcebed;color:var(--ink);padding:1px 7px;border-radius:12px;font-size:12px}.job-stage-control{display:flex;align-items:center;gap:20px;margin:15px 0}.job-stage-control label{min-width:180px}.job-stage-control p{max-width:540px}.job-number{margin:8px 0}.editable-photo{width:150px}.editable-photo img{width:150px;height:130px}.editable-photo button{padding:5px 8px;font-size:12px}.editable-photo div{display:flex;gap:5px;margin-top:8px}@media(max-width:600px){.job-stage-control{display:block}.job-tabs button{flex:1;padding:10px}.job-tabs span{font-size:11px}}

.danger{color:#a32626;border-color:#dab7b7}.check-label,.uptick-task{display:flex;gap:10px;align-items:flex-start}.check-label input,.job-check{width:auto;flex:none;margin-top:5px}.uptick-task{padding:8px 0;border-bottom:1px solid var(--border)}

.uptick-task-title{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.uptick-task-title strong{white-space:nowrap}.uptick-task-title>span{overflow-wrap:anywhere}
.uptick-task.already-imported{background:#f1f3f4;color:#72797d;opacity:.7}.uptick-task.already-imported input{cursor:not-allowed}
