:root{--teal:#066960;--teal-d:#002D30;--coral:#FD5D57;--bg:#eef3f2;--surface:#fff;--sunk:#f6faf9;--line:#d3dedb;--ink:#1b2730;--ink-2:#4b5a66;--ink-3:#79878f;--accent:#066960;--accent-soft:#dbeeec;--ok:#136d52;--ok-soft:#dbeee6;--warn:#8a5a00;--warn-soft:#fbefd6;--bad:#b92f29;--bad-soft:#fbe5e4;--info:#1d5a84;--info-soft:#ddeaf4;--fs:"Nunito Sans",system-ui,sans-serif;--fm:"IBM Plex Mono",ui-monospace,monospace;--shadow:0 1px 2px rgba(0,45,48,.06),0 8px 22px rgba(0,45,48,.05)}@media (prefers-color-scheme:dark){:root{--bg:#06191a;--surface:#0e2527;--sunk:#0a1f20;--line:#1f3d3e;--ink:#eaf2f0;--ink-2:#b4c5c2;--ink-3:#7f9492;--accent:#46bdaf;--accent-soft:#0f3634;--ok:#5fcc9b;--ok-soft:#0e2f27;--warn:#eab75c;--warn-soft:#342a12;--bad:#f28e88;--bad-soft:#3b1b1a;--info:#7fbae2;--info-soft:#12293a;--shadow:0 1px 2px rgba(0,0,0,.4)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fs);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:7px}.mono{font-family:var(--fm);font-variant-numeric:tabular-nums}.app{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;background:var(--bg);position:relative}.top{position:sticky;top:0;z-index:30;background:var(--teal-d);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;display:flex;align-items:center;gap:11px}.top .bk{width:40px;height:40px;margin:-7px 0 -7px -9px;border-radius:50%;font-size:21px;display:grid;place-items:center;flex:0 0 auto}.top .bk:active{background:#ffffff24}.top h1{margin:0;font-size:16px;font-weight:800;letter-spacing:-.015em;line-height:1.25}.top .sub{font-size:11px;opacity:.62;font-family:var(--fm);letter-spacing:.02em}.top .sp{flex:1}.brand b{font-size:17px;font-weight:800;letter-spacing:-.02em}.brand b em{font-style:normal;color:var(--coral)}.body{flex:1;padding:13px 13px calc(26px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:11px}.c{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.c>h3{margin:0;padding:11px 14px;font-size:11px;font-family:var(--fm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--sunk)}.p{padding:13px 14px;display:flex;flex-direction:column;gap:11px}.empty{padding:30px 16px;text-align:center;color:var(--ink-3);font-size:14px}.pill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;font-family:var(--fm);letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-acc{background:var(--accent-soft);color:var(--accent)}.p-info{background:var(--info-soft);color:var(--info)}.p-mute{background:var(--sunk);color:var(--ink-3);border:1px solid var(--line)}.kv{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:0;padding-bottom:0}.kv>span:first-child{font-size:12.5px;color:var(--ink-3);flex:0 0 auto}.kv>span:last-child{text-align:right;font-weight:600;font-size:14px;min-width:0;overflow-wrap:anywhere}.note{background:var(--info-soft);color:var(--info);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}.note b{display:block;margin-bottom:2px}.warnbox{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}.fg{display:flex;flex-direction:column;gap:5px}.fl{font-size:11.5px;font-family:var(--fm);letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}.fi{width:100%;min-height:46px;padding:11px 13px;font-size:16px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.fi:focus{border-color:var(--accent);outline:none}textarea.fi{min-height:84px;resize:vertical;line-height:1.45}.f2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.f3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.unit{font-size:11px;color:var(--ink-3);font-family:var(--fm)}.ck{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);min-height:46px;text-align:left;width:100%}.ck.on{border-color:var(--accent);background:var(--accent-soft)}.ck input{width:21px;height:21px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent)}.ck b{font-size:14px;font-weight:600;display:block}.ck small{display:block;font-size:12px;color:var(--ink-3);margin-top:1px;line-height:1.35}.ck .sl{font-size:10px;font-family:var(--fm);color:var(--bad);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:3px;display:block}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1.5px solid var(--line);border-radius:999px;padding:9px 15px;font-size:14px;font-weight:600;background:var(--surface);min-height:42px}.chip.on{border-color:var(--accent);background:var(--accent);color:#fff}.b{min-height:50px;width:100%;border-radius:11px;font-size:15.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);padding:0 16px}.b:active{transform:translateY(1px)}.b.pri{background:var(--accent);border-color:var(--accent);color:#fff}.b.danger{background:var(--bad);border-color:var(--bad);color:#fff}.b:disabled{opacity:.42;pointer-events:none}.b small{font-weight:600;opacity:.75;font-size:12px}.brow{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rule{background:var(--bad-soft);border:1.5px solid var(--bad);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:5px}.rule .tag{font-size:10.5px;font-family:var(--fm);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--bad)}.rule .msg{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35}.rule .fix{font-size:13px;color:var(--ink-2);line-height:1.45}.ph{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.phslot{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:1.5px dashed var(--line);background:var(--sunk);display:grid;place-items:center;padding:7px;text-align:center}.phslot.got{border-style:solid;border-color:var(--ok)}.phslot img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.phslot .lb{position:relative;z-index:1;font-size:11px;font-weight:600;color:var(--ink-3);line-height:1.25}.phslot.got .lb{position:absolute;bottom:0;left:0;right:0;z-index:1;background:#002d30c7;color:#fff;padding:4px 5px;font-size:10px}.phslot .ic{position:relative;z-index:1;font-size:19px;display:block;margin-bottom:3px}.phslot input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%}.phslot.req{border-color:var(--warn)}.upl{position:absolute;top:0;right:0;bottom:0;left:0;background:#002d30b3;color:#fff;display:grid;place-items:center;z-index:2;font-size:11px;font-family:var(--fm)}.steps{display:flex;flex-direction:column}.step{display:flex;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;width:100%;align-items:flex-start}.step:last-child{border-bottom:0}.step .n{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;font-family:var(--fm);background:var(--sunk);color:var(--ink-3);border:1.5px solid var(--line)}.step.done .n{background:var(--ok);border-color:var(--ok);color:#fff}.step.now .n{background:var(--accent);border-color:var(--accent);color:#fff}.step.lock{opacity:.5}.step .tx{flex:1;min-width:0}.step .tx b{display:block;font-size:14.5px;font-weight:700}.step .tx small{display:block;font-size:12px;color:var(--ink-3);line-height:1.4;margin-top:1px}.step .go{flex:0 0 auto;font-size:19px;color:var(--ink-3);align-self:center}.jh{background:var(--teal-d);color:#fff;padding:13px 14px;display:flex;flex-direction:column;gap:7px}.jh .n{font-size:11px;font-family:var(--fm);opacity:.6;letter-spacing:.05em}.jh .who{font-size:19px;font-weight:800;letter-spacing:-.02em}.jh .ad{font-size:13.5px;opacity:.82;line-height:1.4}.jh .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.jh .tags .pill{background:#ffffff26;color:#fff}.jh a.call{margin-top:4px;background:#ffffff24;border-radius:10px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:14.5px}.jobrow{display:flex;gap:11px;padding:13px 14px;border-bottom:1px solid var(--line);width:100%;text-align:left;align-items:center}.jobrow:last-child{border-bottom:0}.jobrow .w{flex:0 0 52px;font-family:var(--fm);font-size:12px;font-weight:700;color:var(--accent);line-height:1.25}.jobrow .tx{flex:1;min-width:0}.jobrow .tx b{display:block;font-size:15px;font-weight:700}.jobrow .tx small{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jobrow .go{font-size:19px;color:var(--ink-3)}.tot{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px;background:var(--sunk);border-top:1.5px solid var(--line);font-weight:800}.tot span:last-child{font-size:19px;font-family:var(--fm)}.ln{display:flex;justify-content:space-between;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.ln:last-child{border-bottom:0}.ln small{display:block;font-size:11px;font-family:var(--fm);color:var(--ink-3)}.ln .amt{font-family:var(--fm);font-weight:700;flex:0 0 auto}.hint{font-size:12.5px;color:var(--ink-3);line-height:1.5}.big{font-size:27px;font-weight:800;font-family:var(--fm);letter-spacing:-.02em}.ctr{text-align:center;padding:16px 14px;display:flex;flex-direction:column;gap:5px;align-items:center}.spin{width:19px;height:19px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
