:root{--paper:#faf7f2;--card:#ffffff;--ink:#1c2520;--slate:#5c6660;--faint:#9aa39d;--border:#e6e1d8;--basil:#3e7d4f;--basil-dark:#2e6140;--basil-soft:#e7f2ea;--turmeric:#d99a2b;--turmeric-soft:#faf0dc;--brick:#b5432e;--brick-soft:#f7e6e2;--blue:#3b6ea5;--blue-soft:#e7eef7;--gray-soft:#eeece7;--radius:14px;--shadow:0 10px 30px rgba(28,37,32,0.14)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}button{font-family:inherit}.wrap{max-width:720px;margin:0 auto;padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--ink);font-size:14.5px;font-weight:600;padding:11px 16px;cursor:pointer;min-height:44px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--basil);border-color:var(--basil);color:#fff}.btn-block{width:100%}.btn-sm{padding:7px 12px;min-height:36px;font-size:13.5px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.small{font-size:13px}.muted{color:var(--slate)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.input{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 13px;font-size:15px;background:var(--card);color:var(--ink);min-height:46px}.input:focus{outline:2px solid var(--basil-soft);border-color:var(--basil)}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--slate)}.badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;border:1px solid transparent}.badge-green{background:var(--basil-soft);color:var(--basil-dark)}.badge-amber{background:var(--turmeric-soft);color:#8a6218}.badge-red{background:var(--brick-soft);color:var(--brick)}.badge-blue{background:var(--blue-soft);color:var(--blue)}.badge-gray{background:var(--gray-soft);color:var(--slate)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--card);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.topbar .brand{font-weight:800;font-size:17px}.topbar .who{font-size:12.5px;color:var(--slate);text-align:right;line-height:1.3}.tabs{display:flex;gap:8px;margin:14px 0}.tab{flex:1 1;text-align:center;padding:11px;border-radius:10px;font-weight:700;border:1px solid var(--border);background:var(--card);color:var(--slate);cursor:pointer}.tab.active{background:var(--ink);border-color:var(--ink);color:#fff}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chip{border:1px solid var(--border);background:var(--card);color:var(--slate);border-radius:999px;padding:8px 15px;font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;min-height:38px}.chip.active{background:var(--basil);border-color:var(--basil);color:#fff}.counts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:12px 0}.count{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:8px 6px;text-align:center}.count .n{font-size:19px;font-weight:800}.count .l{font-size:11px;color:var(--slate)}.row{padding:13px 14px;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.row .name{font-weight:700;font-size:15.5px}.row .addr{font-size:13px;color:var(--slate);margin-top:3px}.row .actions{display:flex;gap:8px;margin-top:10px;align-items:center}.row .outcome{margin-top:10px;font-size:13px}.menu-anchor{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:230px;overflow:hidden}.menu button{display:block;width:100%;text-align:left;padding:12px 14px;border:none;background:none;font-size:14px;cursor:pointer;color:var(--ink)}.menu button:active{background:var(--paper)}.menu-overlay{position:fixed;inset:0;z-index:25}.sheet-overlay{position:fixed;inset:0;z-index:50;background:rgba(28,37,32,.5);display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--card);width:100%;max-width:520px;border-radius:18px 18px 0 0;overflow:hidden;animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.sheet-head{color:#fff;font-weight:800;font-size:16px}.sheet-body,.sheet-head{padding:16px}.sheet-foot{display:flex;gap:10px;padding:0 16px 16px}.sheet-foot .btn{flex:1 1}.hero{text-align:center;padding:48px 18px 24px}.hero h1{font-size:30px;margin:0 0 8px}.hero p{color:var(--slate);max-width:420px;margin:0 auto}.steps{display:grid;grid-gap:10px;gap:10px;margin:22px 0}.step{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:13px;text-align:left}.step .num{background:var(--basil-soft);color:var(--basil-dark);font-weight:800;border-radius:999px;width:28px;height:28px;align-items:center;flex-shrink:0}.center-fill,.step .num{display:flex;justify-content:center}.center-fill{padding:40px 0}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--basil);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast-stack{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;width:min(94vw,420px)}.toast{background:var(--ink);color:#fff;border-radius:12px;padding:11px 14px;font-size:13.5px;box-shadow:var(--shadow)}.toast strong{display:block}.toast-error{background:var(--brick)}.toast-success{background:var(--basil-dark)}@media (min-width:720px){.sheet-overlay{align-items:center}.sheet{border-radius:18px}.counts{max-width:520px}}