.jff{--jff-ink:#113b2b;--jff-lime:#d7f24a;--jff-text:#1c2a23;--jff-muted:#5c6a62;--jff-line:#e0e6dc;--jff-paper:#f7f9f4;color:#fff;text-align:left;max-width:1080px;margin:0 auto;font-size:13px;line-height:1.4;container:jff/inline-size}.jff button{font:inherit}.jff button:focus-visible{outline:2px solid var(--jff-lime);outline-offset:2px}.jff-phone button:focus-visible,.jff-ops button:focus-visible{outline-color:var(--accent)}.jff-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:14px;display:flex}.jff-bar__title{font-size:14px;font-weight:500}.jff-bar__title span{color:#ffffff9e;font-weight:400}.jff-net{background:#0000002e;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex}.jff-net__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e;padding:0 10px 0 8px;font-size:10.5px;font-weight:500}.jff-net button{color:#ffffffbf;height:28px;transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);background:0 0;border:0;border-radius:5px;padding:0 12px;font-size:12.5px;font-weight:500}.jff-net button:hover{color:#fff}.jff-net button[aria-pressed=true]{background:var(--jff-lime);color:var(--jff-ink)}.jff-grid{grid-template-columns:318px minmax(0,1fr);gap:14px;display:grid}.jff-device{justify-content:center;display:flex}.jff-phone{background:#0a2018;border-radius:34px;flex-direction:column;width:100%;max-width:318px;min-height:576px;padding:10px;display:flex;box-shadow:inset 0 0 0 1px #ffffff24,0 30px 60px -30px #0009}.jff-status{justify-content:space-between;align-items:center;padding:6px 16px 10px;font-size:12px;font-weight:600;display:flex}.jff-status__net{color:#ffffffd1;align-items:center;gap:6px;font-weight:500;display:inline-flex}.jff-status__net i{width:7px;height:7px;transition:background-color var(--dur) var(--ease-out);background:#f0a33a;border-radius:50%}.jff-status__net[data-online] i{background:var(--jff-lime)}.jff-status__net b{background:#ffffff24;border-radius:999px;margin-left:2px;padding:1px 7px;font-size:10.5px;font-weight:500}.jff-screen{background:var(--jff-paper);color:var(--jff-text);border-radius:24px;flex-direction:column;flex:1;padding:18px 16px 14px;display:flex}.jff-kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--jff-muted);font-size:10px;font-weight:500}.jff-record{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--jff-ink);margin-top:8px;font-size:19px;font-weight:600}.jff-form-name{color:var(--jff-muted);margin-top:2px;font-size:12.5px}.jff-returned{color:#7a3a1c;animation:jff-fade .3s var(--ease-out);background:#fdf0e7;border-radius:8px;gap:2px;margin-top:14px;padding:10px 12px;font-size:12px;display:grid}.jff-returned strong{font-weight:600}.jff-form{flex-direction:column;flex:1;gap:14px;margin-top:18px;display:flex}.jff-field{border:0;min-width:0;margin:0;padding:0}.jff-field legend,.jff-field__label{color:var(--jff-text);margin-bottom:7px;padding:0;font-size:12px;font-weight:600}.jff-field legend span,.jff-field__label span{color:#b4532a}.jff-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.jff-choice{cursor:pointer;display:block;position:relative}.jff-choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.jff-choice span{border:1px solid var(--jff-line);height:34px;color:var(--jff-text);transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.jff-choice:hover span{border-color:#b9c4b4}.jff-choice input:checked+span{border-color:var(--jff-ink);box-shadow:inset 0 0 0 1px var(--jff-ink)}.jff-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.jff-choice i{border-radius:50%;width:8px;height:8px}.jff-capture{text-align:left;width:100%;min-height:44px;color:var(--jff-ink);transition:border-color var(--dur) var(--ease-out);background:#fff;border:1px dashed #b3bfad;border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:12.5px;font-weight:500;display:flex}.jff-capture:hover{border-style:solid;border-color:var(--jff-ink)}.jff-capture[data-state=working]{color:var(--jff-muted);cursor:progress}.jff-capture[data-state=done]{border-style:solid;border-color:var(--jff-line);padding-left:10px}.jff-capture[data-state=done]:hover{border-color:#b9c4b4}.jff-capture>svg{flex:none;width:15px;height:15px}.jff-capture__text{flex:1;min-width:0}[data-state=done]>.jff-capture__text{animation:jff-fade .3s var(--ease-out)}.jff-capture__text b{color:var(--jff-ink);font-size:12.5px;font-weight:600;display:block}.jff-capture__text small{color:var(--jff-muted);font-size:11px;font-weight:400;display:block}.jff-capture__again{color:var(--jff-muted);flex:none;font-size:11.5px;font-weight:500}.jff-capture:hover .jff-capture__again{color:var(--jff-ink)}.jff-done{background:var(--jff-lime);width:22px;height:22px;color:var(--jff-ink);border-radius:50%;flex:none;place-items:center;display:grid}.jff-done svg{width:12px;height:12px}.jff-thumb{background:radial-gradient(60% 50% at 70% 30%,#ffffff80,#0000 70%),linear-gradient(165deg,#a9bba2 0%,#5f7a5c 55%,#2e4535 100%);border-radius:5px;flex:none;width:30px;height:30px}.jff-save{background:var(--jff-ink);color:#fff;height:42px;transition:background-color var(--dur) var(--ease-out);border:0;border-radius:10px;margin-top:auto;font-size:13.5px;font-weight:600}.jff-save:hover{background:#1d5741}.jff-error{text-align:center;color:#b4532a;min-height:1.4em;margin-top:-6px;font-size:11.5px}.jff-sent{border:1px solid var(--jff-line);text-align:center;animation:jff-fade .32s var(--ease-out);background:#fff;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:20px 12px;display:flex}.jff-sent:focus{outline:none}.jff-sent:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jff-sent__icon{background:var(--jff-lime);width:46px;height:46px;color:var(--jff-ink);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.jff-sent[data-status=queued] .jff-sent__icon{color:#8a5a07;background:#fbe8c8}.jff-sent__icon svg{width:20px;height:20px}.jff-sent strong{color:var(--jff-ink);font-size:15px;font-weight:600}.jff-sent p{max-width:15rem;color:var(--jff-muted);font-size:12.5px;line-height:1.5}.jff-spinner{border:2px solid #113b2b40;border-top-color:var(--jff-ink);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite jff-spin}.jff-reset{border:1px solid var(--jff-line);height:34px;color:var(--jff-ink);transition:border-color var(--dur) var(--ease-out);background:#fff;border-radius:8px;margin-top:10px;padding:0 14px;font-size:12.5px;font-weight:500}.jff-reset:hover{border-color:var(--jff-ink)}.jff-ops{min-width:0;color:var(--jff-text);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 60px -30px #0000008c}.jff-ops__head{border-bottom:1px solid var(--jff-line);height:44px;color:var(--jff-ink);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-weight:600;display:flex}.jff-ops__head span span{color:var(--jff-muted);font-weight:400}.jff-ops__count{font-family:var(--font-mono);color:var(--jff-muted);font-size:11px;font-weight:500}.jff-map{background:#e6ece1;flex:auto;min-height:200px;position:relative}.jff-map svg{width:100%;height:100%;position:absolute;inset:0}.jff-map__label{font:500 10px var(--font-mono);letter-spacing:.08em;fill:var(--jff-ink);opacity:.7}.jff-map__tag{font:600 10px var(--font-mono);fill:var(--jff-lime)}.jff-new{animation:jff-fade .42s var(--ease-out) both}.jff-new__ring{transform-box:fill-box;transform-origin:50%;animation:jff-ring 1.8s var(--ease-out) infinite}.jff-legend{background:#ffffffeb;border-radius:6px;gap:10px;margin:0;padding:5px 9px;font-size:11.5px;list-style:none;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 0 0 1px #113b2b14}.jff-legend li{align-items:center;gap:6px;display:flex}.jff-legend i{border-radius:50%;width:8px;height:8px}.jff-legend .jff-legend__assigned{border:1.5px dashed var(--jff-ink);background:#fff;width:9px;height:9px}.jff-table{border-top:1px solid var(--jff-line);flex:1;overflow-x:auto}.jff-table table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12.5px}.jff-table thead th:first-child{width:36%}.jff-table thead th:nth-child(2){width:30%}.jff-table th,.jff-table td{border-bottom:1px solid var(--jff-line);text-align:left;white-space:nowrap;height:40px;padding:0 16px;font-weight:400}.jff-table thead th{height:34px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--jff-muted);background:#fafbf8;font-size:10px;font-weight:500}.jff-table tbody th{font-family:var(--font-mono);color:var(--jff-ink);font-size:12px;font-weight:500}.jff-table tbody tr:last-child>*{border-bottom:0}.jff-dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.jff-none{color:var(--jff-muted)}.jff-chip{height:22px;animation:jff-fade .3s var(--ease-out);border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:500;display:inline-flex}.jff-chip[data-tone=ok]{color:#2f6a1f;background:#e7f2de}.jff-chip[data-tone=wait]{color:#4f650c;background:#f5f9d6;box-shadow:inset 0 0 0 1px #cde65a}.jff-chip[data-tone=back]{color:#9a4421;background:#fdf0e7}.jff-chip[data-tone=muted]{color:var(--jff-muted);background:#eef1ec}.jff-row-new>*{transition:background-color .4s var(--ease-out)}.jff-row-new[data-active]>*{background:#fbfdf1}.jff-review{border-top:1px solid var(--jff-line);min-height:50px;color:var(--jff-muted);transition:background-color .3s var(--ease-out);background:#fafbf8;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 16px;display:flex}.jff-review>span{animation:jff-fade .32s var(--ease-out)}.jff-review[data-active]{color:var(--jff-text);background:#f5f9d6}.jff-review b{font-family:var(--font-mono);color:var(--jff-ink);font-weight:600}.jff-review__actions{gap:6px;display:flex}.jff-review button{height:30px;transition:background-color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border-radius:6px;padding:0 12px;font-size:12.5px;font-weight:600}.jff-approve{border:1px solid var(--jff-ink);background:var(--jff-ink);color:#fff}.jff-approve:hover{background:#1d5741}.jff-return{color:var(--jff-ink);background:#fff;border:1px solid #c9d2c3}.jff-return:hover{border-color:var(--jff-ink)}.jff-steps{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0 0;padding:0;list-style:none;display:grid}.jff-steps li{align-content:start;gap:10px;padding-right:12px;display:grid;position:relative}.jff-steps li:not(:last-child):after{content:"";height:1px;transition:background-color .4s var(--ease-out);background:#fff3;position:absolute;top:11px;left:30px;right:6px}.jff-steps li[data-state=done]:not(:last-child):after{background:var(--jff-lime)}.jff-steps__dot{width:22px;height:22px;color:var(--jff-ink);transition:background-color .3s var(--ease-out), border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);border:1px solid #ffffff52;border-radius:50%;place-items:center;display:grid;position:relative}.jff-steps__dot svg{width:12px;height:12px}[data-state=done]>.jff-steps__dot{border-color:var(--jff-lime);background:var(--jff-lime)}[data-state=current]>.jff-steps__dot{border-color:var(--jff-lime);box-shadow:0 0 0 4px #d7f24a29}[data-state=current]>.jff-steps__dot:after{content:"";background:var(--jff-lime);border-radius:50%;width:8px;height:8px}.jff-steps__text{gap:3px;display:grid}.jff-steps__text b{font-size:13px;font-weight:500}.jff-steps__text small{font-family:var(--font-mono);color:#ffffff9e;font-size:10.5px}[data-state=todo] .jff-steps__text b{color:#ffffff8c}@keyframes jff-fade{0%{opacity:0}}@keyframes jff-spin{to{transform:rotate(360deg)}}@keyframes jff-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}@container jff (width<=760px){.jff-grid{grid-template-columns:minmax(0,1fr)}.jff-phone{max-width:340px;min-height:520px}.jff-map{min-height:220px}}@container jff (width<=560px){.jff-steps{grid-template-columns:minmax(0,1fr);gap:14px}.jff-steps li{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;padding-right:0}.jff-steps li:not(:last-child):after{width:1px;height:auto;inset:28px auto -10px 11px}.jff-steps__text{padding-top:2px}.jff-table th,.jff-table td{padding:0 12px}.jff-ops__head span span{display:none}}
