@font-face{font-family:Archivo;src:url('./fonts/archivo.woff2');font-weight:500 700}@font-face{font-family:Source;src:url('./fonts/source-sans-3.woff2');font-weight:400 600}@font-face{font-family:Plex;src:url('./fonts/ibm-plex-mono.woff2');font-weight:600}:root{--navy:#1B2A4A;--page:#F3F5F8;--border:#DCE2EC;--text:#15202F;--muted:#5E6C85;--green:#0B7245;--red:#B42318;--amber:#B54708}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--page);color:var(--text);font:16px Source,system-ui,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}#app{max-width:390px;margin:auto;height:100dvh;min-height:600px;display:flex;flex-direction:column;background:var(--page)}header{flex:none;background:var(--navy);color:#fff}.brand{height:52px;display:flex;justify-content:center;align-items:center}.brand img{height:30px;max-width:78%}.hero{padding:4px 20px 17px;display:flex;align-items:center;gap:12px}.hero h1{font:700 27px Archivo;margin:0;letter-spacing:-.015em}.hero .sub{font-size:13px;color:#A9BDD8;margin-top:2px}.hero .right{margin-left:auto;text-align:right;font:600 22px Plex}.back{border:0;background:none;color:#B9C9DD;font-size:30px;line-height:1;padding:0 7px 0 0}.tabs{display:flex;gap:20px;margin:0 20px;border-bottom:1px solid #2E4368}.tabs button{border:0;border-bottom:2.5px solid transparent;background:none;color:#8FA8C8;padding:9px 1px 10px;font:600 13px Archivo;white-space:nowrap}.tabs button.active{border-color:#4E7FB8;color:#fff}main{flex:1;overflow:auto;padding:14px 16px 18px}.foot{flex:none;background:#fff;border-top:1px solid var(--border);padding:10px 16px;text-align:center;color:#9AA7BB;font:600 9.5px Archivo;letter-spacing:.16em}.bottom{flex:none;background:#fff;border-top:1px solid var(--border);padding:11px 16px}.bottom button,.primary{width:100%;border:0;border-radius:10px;background:var(--navy);color:white;padding:13px 15px;font:700 16px Archivo}.bottom button.green{background:var(--green)}.bottom button:disabled,.primary:disabled{opacity:.45;cursor:default}.bottom .foot{border:0;padding:10px 0 0}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px}.card h2{font:700 15px Archivo;margin:0 0 8px}.eyebrow{font:700 11px Archivo;letter-spacing:.09em;color:#44536B;margin:4px 0 9px}.muted{color:var(--muted)}.mono{font-family:Plex}.job-card{border-left:3px solid #C3CDDC;padding:13px 14px}.job-card.done{border-left-color:var(--green)}.job-card strong{display:block;font:600 17px Archivo;margin:4px 0 1px}.job-card .status{float:right}.pill{display:inline-block;border-radius:5px;padding:3px 8px;background:#EEF1F6;color:#44536B;font:600 10px Archivo;letter-spacing:.03em}.pill.green{background:#ECFAF3;color:var(--green)}.pill.red{background:#FDEEEC;color:var(--red)}.pill.amber{background:#FFF8EB;color:var(--amber)}.warning{background:#FFF8EB;border:1px solid #F2D9A8;border-radius:9px;color:#8A4B08;padding:12px;margin:8px 0}.choice-row{display:flex;gap:7px;flex-wrap:wrap}.choice{min-height:44px;border:1px solid var(--border);border-radius:8px;background:white;color:#334155;padding:8px 11px;font:600 13px Archivo;flex:1}.choice.active{background:var(--navy);color:#fff;border-color:var(--navy)}.choice.danger{color:var(--red)}.field{display:block;margin:13px 0}.field span{display:block;font:700 11px Archivo;letter-spacing:.09em;color:#44536B;margin-bottom:7px}.field input,.field textarea{display:block;width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;padding:11px;color:var(--text)}textarea{min-height:100px;resize:vertical}.group-title{font:700 11px Archivo;letter-spacing:.11em;color:#44536B;margin:19px 2px 10px}.part-row{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--border);border-radius:9px;margin-bottom:7px;padding:10px}.part-row strong{flex:1;font:600 14px Archivo}.part-row button{width:34px;height:34px;background:#fff;border:1px solid #C3CDDC;border-radius:7px;font-size:21px;color:#44536B}.part-row .qty{width:25px;text-align:center;font:600 15px Plex}.task{display:flex;align-items:start;gap:9px;background:white;border:1px solid var(--border);border-radius:9px;margin:8px 0;padding:11px}.task .label{flex:1;font-size:14px}.task button{border:1px solid var(--border);border-radius:6px;background:white;min-width:36px;padding:6px;color:#44536B}.task button.checked{background:var(--green);color:#fff;border-color:var(--green)}.task input{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;margin-top:7px}.day{border:1px solid var(--border);border-radius:10px;background:white;margin-bottom:8px;overflow:hidden}.day-head{display:flex;align-items:center;width:100%;border:0;background:white;text-align:left;padding:12px;color:var(--text)}.day-head strong{font:700 16px Archivo}.day-head small{display:block;color:var(--muted)}.day-head .date{width:57px;font:700 18px Archivo}.day-head .date small{font:700 11px Archivo;letter-spacing:.1em}.day-stops{background:#F7F9FC;padding:9px}.day-stop{display:flex;gap:10px;align-items:center;border:1px solid #E4E9F1;border-radius:9px;background:white;padding:10px;margin-bottom:7px}.day-stop .circle{border:1px solid #C3CDDC;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;font:600 13px Plex}.day-stop small{display:block;color:var(--muted)}.gear-row{padding:12px;border-bottom:1px solid #EBEFF5}.gear-row:last-child{border:0}.gear-row strong{font:600 15px Archivo}.gear-row small{display:block;color:var(--muted)}.summary-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #EBEFF5;padding:13px 10px}.summary-row:last-child{border:0}.summary-row .check{color:var(--green);font-size:22px}.summary-row b{margin-left:auto;font:600 15px Plex}.photo-grid{display:flex;gap:7px;flex-wrap:wrap}.photo-thumb{width:70px;height:70px;object-fit:cover;background:#E6EEF7;border-radius:8px}.photo-add{width:70px;height:70px;border:1px dashed #B7CDE8;border-radius:8px;display:grid;place-items:center;color:#5E6C85}.photo-add input{display:none}.sync{background:#E8F0FB;color:#1B4F8F;font-size:11px;padding:6px 16px;text-align:center}.sync.error{background:#FFF8EB;color:#8A4B08}.link{border:0;background:none;color:#1B4F8F;font:600 13px Archivo}.signin{margin:auto 16px}.signin h1{font:700 24px Archivo}.signin .field input{font-size:18px}.job-actions{display:flex;gap:8px}.job-actions button{flex:1}.urgent{border-color:#EAA8A2;background:#FFF4F2}.narrow{max-width:100%}
