/* LawnRoute Pro — visual refresh v0.1. Preserves all existing app behavior. */
:root{--green:#24272e;--green2:#343942;--lime:#e8edf5;--bg:#f3f5f8;--card:#fff;--ink:#151a23;--muted:#707987;--line:#e3e7ed;--blue:#eaf0ff;--shadow:0 8px 28px rgba(17,24,39,.045)}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#edf0f5 0,#f6f7f9 400px);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}
header{background:radial-gradient(ellipse at 90% -20%,#353b47 0%,#191d24 65%);border-bottom:1px solid #ffffff18;box-shadow:0 12px 28px #11182712;padding:18px 18px 20px}
.headrow,main{max-width:1140px}.headrow h1{font-size:1.27rem;letter-spacing:-.045em;font-weight:850}.brand-logo{width:48px;height:48px;border-radius:14px;border:1px solid #ffffff30;box-shadow:0 5px 18px #0005}header p{color:#b9c0cb;letter-spacing:.01em}main{padding:20px 15px 105px}
.panel{border:1px solid #e4e8ef;border-radius:23px;padding:20px;margin-bottom:16px;box-shadow:0 8px 32px rgba(24,32,48,.035);background:linear-gradient(165deg,#fff,#fdfdfe)}
h2{font-size:1.24rem;font-weight:830;letter-spacing:-.04em;margin-bottom:13px}h3{font-weight:750;letter-spacing:-.025em}.muted{color:#707987}.notice{background:#fff9eb;border-color:#f1dfa9;border-radius:15px;padding:14px}
button,.btn{border-radius:13px;min-height:42px;background:#232831;font-weight:720;letter-spacing:-.015em;transition:transform .15s,background .15s,box-shadow .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7b99d5;outline-offset:2px}button.secondary{background:#eef0f4;color:#262d38}button.danger{background:#fff0ef;color:#a12d2d}button:hover{filter:brightness(.97)}button:active{transform:scale(.975)}
input,select,textarea{border:1px solid #d8dee7;border-radius:13px;background:#fafbfc;padding:13px;color:#151a23;min-height:45px}input:focus,select:focus,textarea:focus{border-color:#8699b5;background:#fff;outline:2px solid #b6c7e755;outline-offset:0}label{color:#394150}
.grid{gap:11px}.stat{background:linear-gradient(155deg,#fff,#f8f9fc);border:1px solid #e2e7ef;border-radius:19px;padding:17px;box-shadow:0 5px 20px #141b2a05;min-height:98px}.stat strong{font-size:1.7rem;letter-spacing:-.06em;color:#161d29}.stat .muted{font-size:.8rem}
.property{background:#fff;border:1px solid #e1e6ee;border-radius:19px;padding:16px;margin:11px 0;box-shadow:0 4px 16px #1b243009}.property.done{border-left:5px solid #268361;background:#fcfffd}.property.skipped{border-left:5px solid #d6a034;background:#fffefa}.address{color:#5c6674}.tag{background:#eef1f6;color:#465061;padding:5px 9px;font-weight:680}.property-actions{gap:8px}.property-actions button{border-radius:11px}
.daytabs{gap:7px}.daytabs button{border-radius:13px;background:#eef0f5;color:#404957}.daytabs button.active{background:#222831;color:#fff;box-shadow:0 4px 12px #22283120}
.bottom-nav{background:rgba(255,255,255,.97);border-top:1px solid #e4e8ee;box-shadow:0 -12px 35px #141c2a10;padding:10px 8px calc(10px + env(safe-area-inset-bottom));gap:5px}.bottom-nav button{border-radius:16px;padding:10px 2px;min-height:60px;font-size:.7rem;color:#7a8391}.bottom-nav button .nav-icon{font-size:1.25rem}.bottom-nav button.active{background:#e9edf3;color:#1b2029}
.tool-launcher{gap:10px}.tool-btn{background:#f5f7fa;border:1px solid #e2e7ee;border-radius:17px;min-height:58px;color:#2c3440;box-shadow:0 3px 12px #11182706}.tool-btn span{font-size:1.25rem}
.calendar-day,.forecast-day,.map-result{border-radius:17px;background:#fafbfd;border-color:#e3e8ef}.weather-current{border-radius:19px;background:linear-gradient(135deg,#edf2f9,#f7f9fc);border-color:#e1e7f1}.weather-temp{letter-spacing:-.07em}
.empty{background:#f7f9fc;border:1px dashed #dce2eb;border-radius:17px;color:#788190}
@media(min-width:720px){main{padding:28px 24px 60px}.panel{padding:24px}.top-tabs button{border-radius:12px}.top-tabs button.active{background:#232831}}
@media(max-width:420px){main{padding:15px 12px 105px}.panel{padding:17px;border-radius:20px}.grid{gap:8px}.stat{padding:13px;min-height:86px}.stat strong{font-size:1.43rem}.headrow h1{font-size:1.18rem}.brand-logo{width:44px;height:44px}.property{padding:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}
@media print{body{background:#fff}main{padding:0}.panel,.property{box-shadow:none}}
