:root{--green:#14532d;--green2:#2f6b3d;--pale:#edf7e9;--bg:#f7faf6;--ink:#102019;--muted:#5f6f67;--line:#d9e4db;--warn:#a85100;--warnbg:#fff1db;--danger:#9d1c1c;--radius:22px;--shadow:0 8px 24px rgba(20,83,45,.08)}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;background:var(--bg);font-size:20px;line-height:1.35}.app-shell{max-width:560px;margin:0 auto;min-height:100dvh;padding:env(safe-area-inset-top) 18px calc(28px + env(safe-area-inset-bottom));background:#fff}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 12px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:30px;color:var(--green)}.brand-mark{font-size:36px}.settings{border:0;background:#fff;font-size:30px;padding:10px}.hero{border-radius:var(--radius);padding:22px;background:linear-gradient(135deg,#e6f3df,#f9fbf7);margin-bottom:18px}.hero h1{font-size:34px;margin:0 0 6px;line-height:1.1}.hero p{margin:0;color:var(--muted)}h2{font-size:30px;margin:8px 0 16px}.card{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0;box-shadow:var(--shadow)}.card.soft{background:var(--pale);border-color:transparent}.label{display:block;font-size:18px;color:var(--muted);font-weight:700;margin-bottom:7px}.input{width:100%;min-height:66px;border:2px solid #b9c9bd;border-radius:16px;padding:12px 16px;font-size:28px;font-weight:750;color:var(--ink);background:#fff}.input:focus{outline:4px solid rgba(20,83,45,.14);border-color:var(--green)}.field{margin:15px 0}.btn{width:100%;min-height:70px;border:0;border-radius:18px;padding:14px 18px;font-size:24px;font-weight:800;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-secondary{background:#dfeeda;color:#143f24}.btn-plain{background:#fff;border:2px solid var(--line);color:var(--ink)}.btn-danger{background:#fff0f0;color:var(--danger);border:2px solid #f0c7c7}.btn:disabled{opacity:.5}.big-number{font-size:64px;font-weight:900;color:var(--green);line-height:1}.row{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:16px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 12px;font-size:16px;font-weight:800}.status.sent{background:#dff2d8;color:#17632f}.status.draft{background:var(--warnbg);color:var(--warn)}.list-card{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}.list-card h3{font-size:26px;margin:0}.divider{height:1px;background:var(--line);margin:16px 0}.back{border:0;background:transparent;font-size:24px;font-weight:800;padding:8px 0;color:var(--green)}.notice{padding:14px;border-radius:14px;background:#f1f5f2;color:#294236;font-size:17px}.error{background:#fff0f0;color:#8e2020}.success{background:#e8f7e5;color:#17632f}.recipient-name{font-size:28px;font-weight:900}.tree-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.tree-row:last-child{border-bottom:0}.choice{display:block;width:100%;text-align:left;border:2px solid var(--line);background:#fff;border-radius:18px;padding:16px;margin:10px 0;font-size:20px}.choice.selected{border-color:var(--green);background:var(--pale)}.choice strong{display:block;font-size:23px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120px);background:#102019;color:#fff;border-radius:14px;padding:14px 18px;max-width:90vw;transition:.2s;z-index:9999}.toast.show{transform:translateX(-50%) translateY(0)}#map{height:62dvh;min-height:420px;border-radius:20px;overflow:hidden}.map-popup{font-size:16px}.coords{font-variant-numeric:tabular-nums}.spinner{display:inline-block;width:24px;height:24px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:380px){body{font-size:18px}.brand{font-size:26px}.hero h1{font-size:30px}.btn{font-size:22px}.input{font-size:25px}}
