:root{--color-fun-green:#006838;--color-deep-sea:#00816a;--color-lime-green:#8dc63f;--color-white:#fff;--color-green-50:#f2f8f4;--color-green-100:#e6f1eb;--color-green-700:#006838;--color-green-800:#00542d;--color-green-900:#003d21;--color-sea-100:#e0f0ec;--color-sea-700:#00816a;--color-sea-800:#005c4b;--color-lime-100:#f0f7e2;--color-lime-500:#8dc63f;--color-lime-700:#6fa02f;--color-off-white:#f7f8f6;--color-ink-100:#eceeec;--color-ink-200:#d4d8d5;--color-ink-400:#8a928d;--color-ink-600:#4a5550;--color-ink-800:#1e2b23;--color-ink-900:#0f1f16;--color-success:#006838;--color-info:#00816a;--color-warning:#d98a00;--color-danger:#b5372a;--color-link:#001f11;--color-link-hover:#8dc63f;--font-title:"Myriad Web Pro", "Myriad Web", "Montserrat", system-ui, sans-serif;--font-display:"Montserrat", system-ui, sans-serif;--font-body:"Open Sans", system-ui, sans-serif;--font-deck:"Avenir", "Avenir Next", "Nunito Sans", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--text-h1:56px;--text-h2:36px;--text-h3:24px;--text-h4:20px;--text-body:16px;--text-small:14px;--text-caption:12px;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.6;--tracking-caps:.05em;--tracking-caps-small:.08em;--tracking-display:-.01em;--tracking-body:0;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;--space-micro:4px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-xxl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f1f160d;--shadow-md:0 2px 8px #0f1f160f;--shadow-lg:0 8px 24px #0f1f1614;--shadow-xl:0 16px 48px #0f1f161f;--ring-focus:0 0 0 3px #00683824;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.32s;--container-max:1200px;--nav-height-marketing:72px;--nav-height-app:56px;--sidebar-width:240px;--field-list-width:280px;--layer-panel-width:300px;--text-strong:var(--color-ink-900);--text-default:var(--color-ink-800);--text-muted:var(--color-ink-600);--text-subtle:#67706b;--text-on-brand:var(--color-white);--text-brand:var(--color-fun-green);--surface-page:var(--color-white);--surface-muted:var(--color-off-white);--surface-card:var(--color-white);--surface-brand:var(--color-fun-green);--surface-brand-dark:var(--color-green-900);--surface-brand-subtle:var(--color-green-50);--surface-accent:var(--color-lime-green);--surface-inverse:var(--color-ink-900);--border-hairline:var(--color-ink-100);--border-default:var(--color-ink-200);--border-strong:var(--color-ink-400);--border-brand:var(--color-fun-green);--action-primary:var(--color-fun-green);--action-primary-hover:var(--color-deep-sea);--action-primary-text:var(--color-white);--action-accent:var(--color-lime-green);--action-disabled-bg:var(--color-ink-200);--action-disabled-text:var(--color-ink-400);--warn-bg:#fbf1de;--warn-text:#8a5300;--danger-bg:#f7e4e1;--scrim-hero:linear-gradient(110deg, #003d21e0, #006838c7 45%, #00816a8c);--scrim-photo:linear-gradient(180deg, #0f1f1600, #0f1f16b8)}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-default);background:var(--surface-page)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);margin:0}a{color:var(--color-link);transition:color var(--dur-base) var(--ease-out);text-decoration:none}a:hover{color:var(--color-link-hover)}@media (prefers-reduced-motion:reduce){*{transition-property:color,background-color,border-color,box-shadow!important;animation:none!important}}:root{--ink:#14201a;--sheet:#f2f3ef;--tile:#fff;--green:#006838;--green-hover:#00543d;--lime:#8dc63f;--lime-tint:#e7f2d6;--lime-on-green:#bfe08f;--muted:#6a736d;--faint:#8a928d;--hair:#dde0da;--handle:#c8cdc7;--teal:#00816a;--amber:#9a5f00;--amber-line:#e2b85c;--amber-tint:#fdf4e3;--amber-ink:#5c3f00;--red:#b5372a;--red-tint:#fbefed;--red-ink:#8e2a20;--map:#3e4e33;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:Georgia, "Times New Roman", serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--sheet);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}h1,h2,p,ul,ol,dl{margin:0}a{color:var(--green)}button{font:inherit;color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,.field:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app{background:var(--sheet);max-width:560px;min-height:100vh;margin:0 auto}.screen{flex-direction:column;min-height:100vh;display:flex}.header{height:var(--map-h);background:var(--map);flex:none;position:relative;overflow:hidden}.header+.sheet{margin-top:calc(-1 * var(--overlap))}.fields{background:var(--map);position:absolute;inset:0;overflow:hidden}.fields.grey{filter:grayscale(.8)brightness(.8)}.f{border:1px solid #ffffff38;position:absolute;transform:rotate(-9deg)}.f1{background:#3a5230;width:60%;height:180px;top:-20px;left:-10%}.f2{background:#5f6b42;width:70%;height:180px;top:-40px;left:51%}.f3{background:#6b5e44;width:62%;height:240px;top:170px;left:-13%}.f4{background:#2e4428;width:70%;height:260px;top:145px;left:51%}.topbar{z-index:2;background:#fff;border-radius:24px;align-items:center;gap:10px;height:48px;padding:0 6px 0 14px;display:flex;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 6px 20px #0000002e}.topbar-leaf{color:var(--green)}.brand{letter-spacing:.12em;text-transform:uppercase;flex:1;font-size:12px;font-weight:700}.avatar{background:var(--lime-tint);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:650;display:flex}.fab{z-index:3;width:48px;height:48px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s;display:flex;position:absolute;box-shadow:0 4px 14px #0003}.fab:active{transform:scale(.94)}.fab.back{top:16px;left:16px}.fab.lg{width:52px;height:52px}.sheet{z-index:1;background:var(--sheet);animation:sheetUp .45s var(--ease) both;border-radius:28px 28px 0 0;flex-direction:column;flex:1;gap:16px;padding:10px 20px 20px;display:flex;position:relative;box-shadow:0 -10px 30px #0000002e}.handle{background:var(--handle);border-radius:3px;flex-shrink:0;align-self:center;width:40px;height:5px}.foot{z-index:2;padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:var(--sheet);flex-direction:column;gap:8px;margin:auto -20px -20px;display:flex;position:sticky;bottom:0}.grow{flex:1}.center{text-align:center}.strong{font-weight:700}.eyebrow,.lhead{letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;font-size:11px;font-weight:700;display:flex}.lhead{padding-bottom:8px}.lhead .s{letter-spacing:0;text-transform:none}.h1{letter-spacing:-.04em;margin-top:6px;font-size:34px;font-weight:700;line-height:1.02}.h1.sm{font-size:28px}.home-title{margin-top:4px;font-size:32px}.serif{font-family:var(--serif);letter-spacing:-.01em;color:var(--green);font-style:italic;font-weight:400}.serif.bad{color:var(--red)}.sub{color:var(--muted);margin-top:6px;font-size:15px;line-height:1.5}.small{color:var(--muted);font-size:13px}.with-icon{justify-content:center;align-items:center;gap:6px;display:flex}.mono{font-family:var(--mono)}.label{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.soft{color:var(--muted)}.steps{gap:4px;display:flex}.steps i{background:var(--handle);border-radius:3px;width:5px;height:5px}.steps i.on{background:var(--green);width:22px}.tile{background:var(--tile);border-radius:20px}.opts{flex-direction:column;gap:10px;display:flex}.opts.tight{gap:8px}.opt{text-align:left;background:var(--tile);cursor:pointer;border:0;border-radius:20px;align-items:center;gap:14px;width:100%;min-height:56px;padding:14px 16px;transition:background-color .25s,box-shadow .25s,transform .12s;display:flex}.opt.slim{min-height:48px;padding:12px 16px}.opt:active{transform:scale(.99)}.opt.sel{color:#fff;background:var(--green);box-shadow:0 10px 24px #00683840}.opt:disabled{opacity:.6}.ico{width:46px;height:46px;color:var(--green);background:var(--sheet);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ot{font-size:16px;font-weight:600;display:block}.od{color:var(--muted);font-size:13px}.opt.sel .od{color:var(--lime-on-green)}.price{font-size:14px;font-weight:600}.tick{width:24px;height:24px;color:var(--ink);background:var(--lime);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;animation:.3s cubic-bezier(.2,.9,.3,1.3) both pop;display:flex}.btn{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:14px;justify-content:space-between;align-items:center;width:100%;height:54px;padding:0 20px;font-size:16px;font-weight:600;text-decoration:none;transition:background-color .18s,transform .12s,box-shadow .18s;display:flex;box-shadow:0 6px 16px #00683838}.btn:hover{color:#fff;background:var(--green-hover)}.btn:active{transform:scale(.98)}.btn.center{justify-content:center;gap:8px}.btn:disabled{color:var(--muted);background:var(--hair);box-shadow:none}.btn2{width:100%;min-height:50px;color:var(--ink);background:var(--tile);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .12s,background-color .18s;display:flex}.btn2:active{transform:scale(.98)}.btn2.dash{border:1.5px dashed var(--handle);background:0 0}.btn2.soft-bg{background:var(--sheet);min-height:48px}.btn2:disabled{color:var(--muted)}.link{min-height:48px;color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.inline-link{font-weight:600;text-decoration:none}.pair{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.q{flex-direction:column;gap:8px;display:flex}.ql{justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;font-weight:600;display:flex}.opt-word{color:var(--muted);font-weight:400}.field{width:100%;height:52px;font:inherit;color:var(--ink);background:var(--tile);border:1.5px solid #0000;border-radius:14px;outline:none;padding:0 16px;font-size:16px;transition:border-color .18s,box-shadow .18s}.field:focus{border-color:var(--green);box-shadow:0 0 0 4px #0068381f}.field.err{border-color:var(--red)}.field.mono{font-family:var(--mono);font-size:18px}.field.short{max-width:200px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--tile);cursor:pointer;border:0;border-radius:24px;align-items:center;gap:6px;height:48px;padding:0 16px;font-size:14px;transition:background-color .2s,color .2s,transform .12s;display:inline-flex}.chip:active{transform:scale(.96)}.chip.on{color:#fff;background:var(--ink);font-weight:600}.chip-tick{color:var(--lime)}.seg{background:var(--tile);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.seg button{color:#4a5550;cursor:pointer;background:0 0;border:0;border-radius:12px;height:48px;font-size:15px;transition:background-color .2s,color .2s}.seg button.on{color:#fff;background:var(--green);font-weight:600}.coords{width:100%;min-height:52px;color:var(--muted);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:0 16px;display:flex}.coords-action{color:var(--green);margin-left:auto;font-size:14px;font-weight:600}.coords .mono{color:var(--ink)}.st{align-items:center;gap:5px;font-size:12px;font-weight:600;animation:.3s ease-out both fadeIn;display:inline-flex}.st.ok{color:var(--green)}.st.wait{color:var(--muted)}.st.bad{color:var(--red)}.spin{border:2px solid var(--hair);border-top-color:var(--muted);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin}.retry{min-height:48px;color:var(--red-ink);background:var(--red-tint);cursor:pointer;border:0;border-radius:24px;align-self:flex-start;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.list{flex-direction:column;display:flex}.lrow{min-height:48px;color:inherit;border-bottom:1px solid var(--hair);align-items:baseline;gap:12px;padding:13px 0;text-decoration:none;display:flex}.lrow:last-child{border-bottom:0}.num{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.lt{flex:1;font-size:15px;font-weight:600}.empty{padding:13px 0}.draft{color:inherit;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.draft-count{border:5px solid var(--lime-tint);border-top-color:var(--green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:flex}.draft-text{flex:1;min-width:0}.dl{flex-direction:column;font-size:14px;display:flex}.dl-row{border-bottom:1px solid var(--hair);grid-template-columns:120px minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.dl-row:last-child{border-bottom:0}.dl dt{color:var(--muted)}.dl dd{text-align:right;margin:0}.dl dd.big{font-size:17px}.small-mono{font-size:13px}.sample{flex-direction:column;padding:4px 16px 6px;display:flex}.sample.needs{box-shadow:inset 0 0 0 1.5px var(--amber-line);gap:10px;padding:14px 16px}.sample-head{align-items:center;gap:12px;display:flex}.sample-head.ruled{border-bottom:1px solid var(--ink);padding:10px 0}.sample-head .mono{font-size:14px}.missing{color:#4a5550;flex-direction:column;gap:2px;padding-left:18px;font-size:14px;display:flex}.sample-foot{border-top:1px solid var(--hair);justify-content:flex-end;display:flex}.totals{flex-direction:column;gap:8px;margin-top:4px;display:flex}.totals-line{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.totals-sum{border-top:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding-top:10px;display:flex}.sum{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.s{white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.s:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.s-due{color:var(--amber)}.s-proc{color:#4a5550}.s-lab{color:var(--teal)}.s-ready{color:var(--green)}.s-cancel{color:var(--red)}.s-draft{color:var(--muted)}.note{border-radius:14px;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.note svg{flex-shrink:0;margin-top:1px}.note.warn{color:var(--amber-ink);background:var(--amber-tint)}.note.err{color:var(--red-ink);background:var(--red-tint)}.note.info{color:#1f3b12;background:var(--lime-tint)}.received{align-items:center;gap:14px;display:flex}.big-check{background:var(--green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;animation:.45s cubic-bezier(.2,.9,.3,1.25) both pop;display:flex;box-shadow:0 0 0 8px #0068381a}.big-check.off{background:var(--red);box-shadow:0 0 0 8px #b5372a1a}.order-no{font-size:20px;font-weight:700;display:block}.progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px 0 0;font-size:12px;list-style:none;display:grid}.progress li{color:var(--muted);flex-direction:column;gap:8px;display:flex}.progress i{background:var(--hair);border-radius:2px;height:4px}.progress li.done{color:var(--ink);font-weight:600}.progress li.done i{background:var(--green)}.progress li.due{color:var(--amber);font-weight:600}.progress li.due i{background:var(--amber-line)}.progress li.now{color:var(--teal);font-weight:600}.progress li.now i{background:var(--teal)}.summary{padding:4px 16px}.state-icon{width:52px;height:52px;color:var(--ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.offline-pill{z-index:2;color:#fff;background:var(--ink);border-radius:22px;justify-content:center;align-items:center;gap:8px;height:44px;font-size:14px;font-weight:600;display:flex;position:absolute;top:16px;left:16px;right:16px}.splash{color:#fff;background:var(--map);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.splash .fields{opacity:.55}.splash-body{color:var(--lime-tint);flex-direction:column;align-items:center;gap:22px;display:flex;position:relative}.logo-tile{width:64px;height:64px;color:var(--green);background:#fff;border-radius:20px;justify-content:center;align-items:center;display:flex;box-shadow:0 10px 30px #00000040}.splash .label{color:#fff}.ring-spin{border:3px solid #ffffff40;border-top-color:var(--lime);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin}.ring-spin.dark{border-color:var(--hair);border-top-color:var(--green);align-self:center}.olmap{touch-action:none;width:100%;height:100%}.pin-preview{background:var(--map);cursor:pointer;border:0;width:100%;padding:0;display:block;position:absolute;inset:0}.pin-preview .olmap{pointer-events:none}.pin-preview .ol-attribution{display:none}.picker{z-index:40;background:var(--map);max-width:560px;animation:sheetUp .35s var(--ease) both;flex-direction:column;margin:0 auto;display:flex;position:fixed;inset:0}.picker-map{flex:1;min-height:0;position:relative}.picker-pin{z-index:2;pointer-events:none;filter:drop-shadow(0 3px 4px #0000004d);width:44px;height:56px;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.fab.locate{color:var(--green);bottom:40px;right:16px}.fab.locate.finding{color:var(--muted)}.picker-map .ol-attribution{bottom:28px}.picker-sheet{z-index:3;padding:10px 20px calc(20px + env(safe-area-inset-bottom));background:var(--sheet);border-radius:28px 28px 0 0;flex-direction:column;gap:14px;margin-top:-24px;display:flex;position:relative;box-shadow:0 -10px 30px #0000002e}.picker-sheet .sub{margin-top:0}.maptip{bottom:calc(var(--overlap,0px) + 14px);z-index:2;color:#fff;white-space:nowrap;pointer-events:none;background:#14201ad1;border-radius:14px;padding:6px 12px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.inline-map{border-radius:20px;height:240px;position:relative;overflow:hidden}.inline-map .maptip{bottom:12px}.e{animation:up .42s var(--ease) both}.d1{animation-delay:80ms}.d2{animation-delay:.14s}.d3{animation-delay:.2s}.d4{animation-delay:.26s}.d5{animation-delay:.32s}.d6{animation-delay:.38s}.draw{stroke-dasharray:30;stroke-dashoffset:30px;animation:.5s ease-out .35s forwards draw}@keyframes up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{opacity:.4;transform:translateY(60px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@media (height<=680px){.header.decor{background:var(--sheet);height:80px;overflow:visible}.header.decor .fields{display:none}.header.decor+.sheet{box-shadow:none;border-radius:0;margin-top:0;padding-top:0;animation:none}.header.decor+.sheet .handle{display:none}.header.decor .fab{box-shadow:0 1px 4px #00000026}.header:not(.decor){height:min(var(--map-h), 40vh)}.foot{flex-direction:row;gap:8px;padding-top:10px}.foot>.small{display:none}.foot>.btn,.foot>.btn2{flex:1 1 0;min-width:0;height:50px;padding:0 14px}.foot>.btn{justify-content:center;gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.draw{stroke-dashoffset:0}}.scanner{z-index:20;background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scanner-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-frame{border:3px solid #ffffffe6;border-radius:16px;width:64vmin;height:64vmin;position:relative;box-shadow:0 0 0 100vmax #00000073}.scanner-status{margin:var(--space-md) var(--space-sm) var(--space-sm);color:#fff;text-align:center;position:relative}.scanner-close{position:relative}.inline-map .ol-attribution{bottom:.5em}.link.danger{color:var(--red)}.center-self{align-self:center}.confirm{flex-direction:column;gap:10px;padding:16px;display:flex}.btn2.bad{color:#fff;background:var(--red)}
