*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#081726;--sapphire:#3578d4;--sky:#eaf2fc;--ok:#1d7a4f;--line:#dde5ee}body{color:var(--navy);-webkit-font-smoothing:antialiased;background:#f7f9fc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.wrap{max-width:480px;margin:0 auto;padding:20px 16px 60px}.brandbar{background:var(--navy);padding:14px 16px}.brandbar-inner{text-align:center;max-width:480px;margin:0 auto}.brandbar img{width:auto;height:26px;display:inline-block}h1{margin:14px 0 6px;font-size:22px}h2{margin:22px 0 8px;font-size:16px}p{margin:8px 0}.muted{color:#5a6b80;font-size:14px}.card{border:1px solid var(--line);background:#fff;border-radius:12px;margin:10px 0;padding:14px 16px}.scope-list{margin:8px 0 0;list-style:none}.scope-list li{border-top:1px solid var(--line);padding:6px 0;font-size:15px}.scope-list li:first-child{border-top:0}.btn{text-align:center;background:var(--sapphire);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;margin:10px 0;padding:14px;font-size:16px;font-weight:700;text-decoration:none;display:block;box-shadow:0 2px 8px #102a4329}.btn:active{transform:scale(.97)}.btn.secondary{color:var(--navy);border:1.5px solid var(--line);background:#fff}.btn.confirm{background:var(--sapphire)}.capture-btn{box-sizing:border-box}.capture-btn:not(.confirm){color:var(--navy);border:1.5px solid var(--line);background:#fff}.capture-btn:has(input:disabled){opacity:.55;pointer-events:none}.uploading{margin:10px 0 4px}.uploading .bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.uploading .bar span{background:var(--sapphire);border-radius:999px;height:100%;transition:width .24s cubic-bezier(.23,1,.32,1);display:block}.uploading p{margin:6px 0 0}.photo-grid img.pending{opacity:.45;filter:saturate(.6)}.window{border:1.5px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--navy);background:#fff;border-radius:10px;margin:8px 0;padding:14px;font-size:16px;font-weight:600;display:block}.window.on{border-color:var(--sapphire);background:var(--sky)}.slot{border:1.5px dashed var(--line);border-radius:10px;margin:8px 0;padding:12px}.slot.done{border-style:solid;border-color:var(--ok);background:#f2faf6}.pill{background:var(--sky);color:var(--sapphire);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block;box-shadow:0 1px 4px #102a431f}input[type=file]{width:100%;padding:10px 0;font-size:15px}textarea{border:1.5px solid var(--line);border-radius:10px;width:100%;min-height:70px;padding:10px;font-family:inherit;font-size:15px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.footer{color:#8a97a8;text-align:center;margin-top:32px;font-size:12px}.team-input{box-sizing:border-box;border:1.5px solid var(--line);border-radius:10px;width:100%;margin:8px 0;padding:12px;font-size:16px;display:block}.checklist{margin:4px 0 10px}.check-row{border:1.5px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin:6px 0;padding:10px 12px;font-size:15px;display:flex}.check-row.on{border-color:var(--ok);background:#f2faf6}.check-row input{width:18px;height:18px;accent-color:var(--ok)}.cam-overlay{z-index:50;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.cam-overlay video{object-fit:contain;background:#000;flex:1;width:100%;min-width:0;min-height:0}.cam-bar{padding:18px 22px calc(18px + env(safe-area-inset-bottom));background:#000;justify-content:space-between;align-items:center;display:flex}.cam-shutter{cursor:pointer;background:#fff;border:5px solid #999;border-radius:50%;width:68px;height:68px}.cam-shutter:active{transform:scale(.92)}.cam-cancel,.cam-done{color:#fff;cursor:pointer;background:0 0;border:0;font-size:16px;font-weight:700}.cam-done:disabled{opacity:.4}.cam-flash{pointer-events:none;background:#fff;animation:.16s ease-out forwards camflash;position:absolute;inset:0}@keyframes camflash{0%{opacity:.9}to{opacity:0}}.cam-cancel{top:calc(14px + env(safe-area-inset-top));z-index:2;padding:6px 10px;font-size:22px;position:absolute;left:16px}.cam-counter{top:calc(16px + env(safe-area-inset-top));color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:999px;padding:5px 14px;font-size:14px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.cam-thumb{background:#ffffff14;border:2px solid #ffffffd9;border-radius:10px;width:54px;height:54px;position:relative;overflow:visible}.cam-thumb img{object-fit:cover;border-radius:8px;width:100%;height:100%;animation:.26s cubic-bezier(.23,1,.32,1) thumbpop}@keyframes thumbpop{0%{opacity:.4;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.cam-badge{background:var(--sapphire);color:#fff;border:2px solid #000;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-8px;right:-8px}@media (orientation:landscape) and (max-height:560px){.cam-overlay{flex-direction:row}.cam-bar{padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 14px 16px;flex-direction:column;justify-content:space-between}.cam-shutter{width:60px;height:60px}.cam-cancel{top:calc(10px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left))}}.start-grid{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 0;display:grid}.start-grid .btn{margin:0;padding:14px 8px}.start-grid .btn:disabled{color:#7a8899;box-shadow:none;cursor:default;background:#d7dfe9}.start-grid .btn:disabled:active{transform:none}.start-grid>.btn:only-child{grid-column:1/-1}.internal-only{color:#5a6b80;margin:8px 0 0;font-size:13px}.job-clock{color:var(--navy);margin:10px 0 0;font-size:14px;font-weight:700}.team-bar{position:relative}.team-login-btn{color:#cfe0f5;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #ffffff4d;border-radius:999px;max-width:30%;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.3;position:absolute;top:50%;right:0;overflow:hidden;transform:translateY(-50%)}.team-login-btn.on{background:var(--sapphire);border-color:var(--sapphire);color:#fff}.team-sheet{z-index:60;background:#0817268c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.team-sheet-card{width:100%;max-width:480px;color:var(--navy);text-align:left;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:14px 14px 0 0}.team-sheet-card .btn{margin:8px 0}.team-err{color:#b00020;font-size:14px}.team-input[autocomplete=one-time-code]{text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.team-input[autocomplete=one-time-code]::placeholder{letter-spacing:normal;font-size:16px;font-weight:400}.team-note{color:#1d6b43;font-size:14px}.team-links{flex-wrap:wrap;justify-content:center;gap:0 16px;display:flex}.team-links .team-link{min-height:40px;margin:2px 0 6px}.team-banner{border-color:var(--sapphire);background:var(--sky)}.team-back{color:#cfe0f5;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;max-width:30%;min-height:36px;padding:4px 8px 4px 0;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;transition:transform .16s cubic-bezier(.23,1,.32,1);display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.team-back svg{flex:none;width:18px;height:18px}.team-back span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.team-back:active{transform:translateY(-50%)scale(.97)}.team-back:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #cfe0f5}@media (prefers-reduced-motion:reduce){.team-back{transition:none}}.team-link{color:var(--sapphire);cursor:pointer;background:0 0;border:0;margin:2px auto 6px;font-size:14px;font-weight:600;text-decoration:underline;display:block}.mv-tile{aspect-ratio:1;cursor:zoom-in;-webkit-tap-highlight-color:transparent;background:#e8eef5;border:0;border-radius:8px;width:100%;margin:0;padding:0;transition:transform .16s cubic-bezier(.23,1,.32,1);display:block;position:relative;overflow:hidden}.mv-tile:active{transform:scale(.97)}.mv-tile:focus-visible{outline:2px solid var(--sapphire);outline-offset:2px}.mv-tile img,.mv-tile video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.mv-tile-video{background:#0b1520}.mv-play{pointer-events:none;background:#08172699;border-radius:50%;width:36px;height:36px;margin:-18px 0 0 -18px;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 1.5px #ffffffd9}.mv-play:after{content:"";border:7px solid #0000;border-left:11px solid #fff;border-right-width:0;position:absolute;top:11px;left:14px}.mv-tag{color:#fff;pointer-events:none;background:#081726b8;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.5;position:absolute;bottom:5px;left:5px}.mv{z-index:90;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:#fff;opacity:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4;transition:opacity .22s cubic-bezier(.23,1,.32,1);position:fixed;inset:0}.mv[data-on]{opacity:1}.mv[data-closing]{opacity:0;transition-duration:.16s}.mv-backdrop{background:#040a10f5;position:absolute;inset:0}.mv-stage{transition:transform .22s cubic-bezier(.23,1,.32,1);position:absolute;inset:0;overflow:hidden;transform:scale(.96)}.mv[data-on] .mv-stage{transform:none}.mv-track,.mv-slide{position:absolute;inset:0}.mv-zoom{transform-origin:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mv-img,.mv-video{width:auto;max-width:100%;height:auto;max-height:100%;margin:auto;display:block;position:absolute;inset:0}.mv-img{cursor:zoom-in;-webkit-user-drag:none}.mv[data-zoomed] .mv-img{cursor:grab}.mv-video{background:#000}.mv-vid-ph{aspect-ratio:16/9;background:#0b1520;border-radius:10px;width:min(90%,520px);position:relative}.mv-vid-ph .mv-play{width:56px;height:56px;margin:-28px 0 0 -28px}.mv-vid-ph .mv-play:after{border-width:11px 0 11px 17px;top:17px;left:22px}.mv-fail{text-align:center;color:#cfd8e3;max-width:280px;padding:18px;font-size:15px}.mv-fail p{margin:0 0 12px}.mv-bar{pointer-events:none;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;left:0;right:0}.mv-bar .mv-btn{pointer-events:auto}.mv-top{padding-top:calc(8px + env(safe-area-inset-top));background:linear-gradient(#040a10b8,#040a1000);top:0}.mv-bottom{padding-bottom:calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#040a1000,#040a10b8);justify-content:center;gap:18px;bottom:0}.mv-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding-left:6px;font-size:14px;font-weight:600;overflow:hidden}.mv-count{text-align:center;font-variant-numeric:tabular-nums;min-width:64px;font-size:14px;font-weight:600}.mv-btn{color:#fff;min-width:44px;height:44px;font:inherit;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s;display:inline-flex}.mv-btn:active{transform:scale(.95)}.mv-btn:disabled{opacity:.35;cursor:default;transform:none}.mv-btn:focus-visible{outline-offset:2px;outline:2px solid #8fb8ee}.mv-icon{width:44px;padding:0}.mv-icon svg{width:22px;height:22px}@media (hover:hover) and (pointer:fine){.mv-btn:not(:disabled):hover{background:#ffffff3d}}@media (prefers-reduced-motion:reduce){.mv,.mv-stage,.mv-tile,.mv-btn{transition:none}.mv-stage{transform:none}}.parts-btn{width:100%;margin:10px 0 0}.parts-note{color:var(--navy);background:#fff5e6;border:1px solid #f0d9ae;border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:14px}.photo-cell{position:relative}.photo-x{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#081726c7;border:0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:transform .16s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:5px;right:5px}.photo-x:before{content:"";position:absolute;inset:-8px}.photo-x svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;fill:none;width:14px;height:14px}.photo-x:active{transform:scale(.9)}.photo-x:focus-visible{outline:2px solid var(--sapphire);outline-offset:2px}.rv{z-index:60;color:var(--navy);background:#f7f9fc;flex-direction:column;display:flex;position:fixed;inset:0}.rv-head{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;display:flex}.rv-head h2{flex:1;margin:0;font-size:17px}.rv-back{min-height:44px;color:var(--sapphire);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;font-weight:700}.rv-count{color:#5a6b80;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.rv-body{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 16px 16px;overflow-y:auto}.rv-body>.muted{margin:0 0 10px}.rv-empty{text-align:center;padding:32px 8px}.rv-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.rv-grid .mv-tile{border-radius:10px}.rv-grid .photo-x{width:36px;height:36px;top:8px;right:8px}.rv-grid .photo-x svg{width:16px;height:16px}.rv-foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.rv-foot .btn{margin:6px 0}.rv-more{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rv-body,.rv-foot{width:100%;max-width:560px;margin-left:auto;margin-right:auto}.undo-bar{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:70;background:var(--navy);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;max-width:456px;margin:0 auto;padding:6px 6px 6px 16px;font-size:15px;font-weight:600;display:flex;position:fixed}.undo-bar button{color:#9cc3f5;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font-weight:700}.undo-bar button:active{background:#ffffff1a}button.cam-thumb{cursor:pointer;padding:0}button.cam-thumb:disabled{cursor:default}@media (prefers-reduced-motion:reduce){.photo-x{transition:none}}.undo-bar.inline{max-width:none;margin:0 16px 10px;position:static}@media (min-width:592px){.undo-bar.inline{width:528px;margin:0 auto 10px}}
