:root { --ink:#240B36; --orange:#FF750E; --green:#16D444; --cream:#FFEEDB; --paper:#fffaf5; --muted:#725f7c; --line:#eadce2; }
* { box-sizing:border-box } body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,select,textarea { font:inherit } button { cursor:pointer } .app { max-width:680px; margin:auto; min-height:100dvh; background:#fff; position:relative; overflow:hidden }
.topbar { height:68px; padding:env(safe-area-inset-top) 18px 0; display:flex; align-items:center; justify-content:space-between; background:var(--ink); color:#fff; }
.brand { display:flex; align-items:center; gap:9px; font-weight:800; letter-spacing:-.5px; font-size:20px }.crown { color:var(--orange); font-size:25px; line-height:1 }.avatar { border:0; width:39px; height:39px; border-radius:50%; color:var(--ink); background:var(--cream); font-weight:800 }
.view { min-height:calc(100dvh - 138px); padding-bottom:87px }.map-wrap{height:calc(100dvh - 138px); min-height:550px; position:relative; overflow:hidden; background:#e6f0e8}.map { position:absolute; inset:0; touch-action:none; background:linear-gradient(30deg,transparent 48%,#d4e3d9 49% 51%,transparent 52%),linear-gradient(120deg,transparent 48%,#d4e3d9 49% 51%,transparent 52%),#e8f1e9; background-size:126px 126px; }.mapboxgl-map { font:inherit; }
.map::before { content:""; position:absolute; inset:0; opacity:.78; background:linear-gradient(82deg,transparent 0 23%,#fff 23.5% 25%,transparent 25.5% 53%,#fff 53.5% 55%,transparent 55.5%),linear-gradient(12deg,transparent 0 38%,#fff 38.5% 40%,transparent 40.5%); }.map-hint { position:absolute; top:18px; left:50%; transform:translateX(-50%); padding:9px 13px; white-space:nowrap; color:var(--ink); background:#fff; border-radius:999px; box-shadow:0 3px 13px #240b3620; font-weight:700; font-size:13px }.pin { position:absolute; width:31px; height:31px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); border:3px solid #fff; box-shadow:0 3px 8px #240b3640; }.pin span{display:block; width:100%; height:100%; transform:rotate(45deg); text-align:center; line-height:25px; color:#fff; font-size:11px; font-weight:800 }.pin.warm{background:var(--orange)}.pin.hot{background:#e64545}.pin.sold{background:var(--green)}.pin.not-home{background:#78677e}.pin.you { width:25px;height:25px;border-radius:50%;background:var(--ink);transform:none;outline:4px solid #fff;box-shadow:0 0 0 7px #240b3630 }.map-tools { position:absolute; right:16px; bottom:100px; display:grid; gap:9px }.round { width:47px;height:47px;border:0;border-radius:50%; background:#fff;color:var(--ink); box-shadow:0 3px 13px #240b3620;font-weight:800;font-size:20px }.map-summary { position:absolute; left:16px; right:16px; bottom:17px; padding:14px 15px; border-radius:16px; background:#fff; box-shadow:0 5px 18px #240b3620; display:flex;justify-content:space-between;align-items:center }.map-summary strong{display:block;font-size:16px}.map-summary span{font-size:13px;color:var(--muted)}
.nav { height:70px; padding-bottom:env(safe-area-inset-bottom); display:flex; position:fixed; max-width:680px; width:100%; bottom:0; background:#fff; border-top:1px solid var(--line); z-index:10 }.nav button{flex:1;border:0;background:none;color:var(--muted);font-size:11px;display:grid;place-content:center;gap:2px}.nav button b{font-size:20px;line-height:20px}.nav button.active{color:var(--orange);font-weight:800}
.page { padding:20px 18px }.eyebrow { color:var(--orange);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin:0 0 3px }.page h1{margin:0 0 18px;font-size:28px;letter-spacing:-1px}.toolbar { display:flex;gap:9px;margin:0 0 14px }.toolbar input{flex:1}.btn,.secondary { border:0;border-radius:11px;padding:11px 14px;font-weight:800 }.btn{color:#fff;background:var(--ink)}.btn.orange{background:var(--orange)}.secondary{background:var(--cream);color:var(--ink)}.lead-card { border:1px solid var(--line);border-radius:15px;padding:14px;margin:9px 0;background:#fff }.lead-card .row{display:flex;justify-content:space-between;gap:12px}.lead-card h3{margin:0;font-size:16px}.lead-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.badge{align-self:flex-start;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;background:var(--cream);color:#9b4200}.badge.sold{background:#daf8e4;color:#087b29}.badge.hot{background:#ffe1df;color:#b32020}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.stat{padding:15px;border-radius:16px;background:var(--cream)}.stat b{display:block;font-size:25px}.stat span{font-size:13px;color:var(--muted)}.section{margin:24px 0 9px;display:flex;align-items:center;justify-content:space-between}.section h2{font-size:18px;margin:0}.notice{background:var(--cream);border-radius:14px;padding:14px;color:#5b3e65;font-size:13px}.settings-card{border:1px solid var(--line);border-radius:15px;padding:15px;margin:11px 0}.settings-card h3{margin:0 0 4px}.settings-card p{margin:0;color:var(--muted);font-size:13px}.toggle{margin-left:auto;appearance:none;width:43px;height:25px;border-radius:20px;background:#ccc;position:relative;vertical-align:middle}.toggle:checked{background:var(--green)}.toggle::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;transition:.2s}.toggle:checked::after{left:21px}.setting-row{display:flex;align-items:center;gap:12px;padding:9px 0}.field-row{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:11px 0}.field-row:first-of-type{border-top:0}.field-row span{flex:1}.mini{border:0;color:var(--orange);background:none;font-weight:800;padding:4px}.modal-backdrop{position:fixed;inset:0;background:#240b3670;z-index:30;display:flex;align-items:flex-end}.sheet{width:100%;max-width:680px;margin:auto;background:#fff;border-radius:22px 22px 0 0;max-height:91dvh;overflow:auto;padding:20px 18px calc(22px + env(safe-area-inset-bottom))}.sheet-handle{width:38px;height:4px;background:#d8ced9;border-radius:4px;margin:0 auto 14px}.sheet header{display:flex;justify-content:space-between;align-items:start}.sheet h2{margin:0;font-size:22px}.close{border:0;background:var(--cream);width:33px;height:33px;border-radius:50%;font-size:21px;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:800;margin:14px 0 5px;color:#4f395b}input,select,textarea{width:100%;border:1px solid #dcd0d8;border-radius:10px;padding:11px;background:#fff;color:var(--ink)}textarea{min-height:82px;resize:vertical}.actions{display:flex;gap:9px;margin-top:20px}.actions>*{flex:1}.visit{border-left:3px solid var(--orange);padding:2px 0 2px 11px;margin:13px 0}.visit strong{font-size:14px}.visit p{margin:3px 0;color:var(--muted);font-size:13px}.empty{text-align:center;padding:44px 20px;color:var(--muted)}.hidden{display:none!important}
@media (min-width:681px){body{background:#eadde7}.app{box-shadow:0 0 45px #240b3620}.nav{left:50%;transform:translateX(-50%)}.modal-backdrop{align-items:center}.sheet{border-radius:22px;max-height:85dvh}}
.pin.you{background:#2386F5;outline:4px solid #fff;box-shadow:0 0 0 7px #2386F540;animation:locationPulse 1.8s ease-out infinite}.pin.you span{font-size:8px;line-height:25px}@keyframes locationPulse{0%{box-shadow:0 0 0 5px #2386F555}70%{box-shadow:0 0 0 15px #2386F500}100%{box-shadow:0 0 0 5px #2386F500}}
.pin.not-interested{background:#8b5cf6}.pin.follow-up-needed{background:#0f9cab}.pin.appointment-set{background:#2563eb}.pin.decision-maker-not-home{background:#64748b}.pin.already-has-provider{background:#4b5563}.pin.bad-lead{background:#9f1239}.pin.do-not-contact{background:#1f2937}.badge.not-interested{background:#ede9fe;color:#5b21b6}.badge.follow-up-needed{background:#d8f6f8;color:#0c6d77}.badge.appointment-set{background:#dbeafe;color:#1d4ed8}.badge.decision-maker-not-home,.badge.already-has-provider{background:#e5e7eb;color:#374151}.badge.bad-lead,.badge.do-not-contact{background:#fee2e2;color:#991b1b}
