@font-face{font-family:"Lato";src:url("fonts/lato-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Lato";src:url("fonts/lato-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lato";src:url("fonts/lato-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Lato";src:url("fonts/lato-900.woff2") format("woff2");font-weight:900;font-display:swap}
:root{
  --g900:#0b4325;--g800:#105D31;--g700:#14723D;--g500:#3d8a35;--g400:#5EA851;--g100:#e9f3e4;--g50:#f3f8ef;
  --gold:#F9C122;--goldsoft:#fff3c4;--cream:#fbf7ec;--ink:#1d2b22;--muted:#4a5a4f;--line:#d9e3d6;
  --red:#b42318;--redsoft:#fde7e4;--amber:#8a5a00;--ambersoft:#fff1cc;--hh:#BA2D59;--hhg:#5CA588;
  --bg:#f4f7f2;--shadow:0 2px 6px rgba(16,93,49,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Lato",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;font-size:16px;line-height:1.4;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
a{color:var(--g700)}
img{max-width:100%}
.money{font-variant-numeric:tabular-nums;white-space:nowrap}
.muted{color:var(--muted)}
.small{font-size:14px}
.right{text-align:right}
.hide{display:none!important}

/* test banner + top bar */
.testbar{background:var(--gold);color:#3a2a00;font-size:13px;font-weight:700;text-align:center;padding:5px 10px;line-height:1.3}
.testbar b{font-weight:900;letter-spacing:.04em}
.topnav{background:var(--g900);display:none}
.topnav .in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:6px;padding:8px 18px}
.topnav img{height:40px;margin-right:14px;background:#fff;border-radius:10px;padding:3px 8px}
.topnav a{color:#d8ecd3;text-decoration:none;font-weight:700;padding:8px 12px;border-radius:10px;font-size:15px}
.topnav a.on,.topnav a:hover{background:rgba(255,255,255,.12);color:#fff}
.topnav .sp{flex:1}
.appbar{background:var(--g800);color:#fff;padding:12px 16px 16px}
.appbar .in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:12px}
.appbar h1{font-size:25px;font-weight:900;margin:0;line-height:1.15}
.appbar .sub{font-size:15px;color:#cfe6cc;margin-top:2px}
.appbar .back{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex:0 0 40px;color:#fff}
.appbar .sp{flex:1}
.appbar .pill{background:rgba(255,255,255,.14);border-radius:999px;padding:7px 12px;font-size:14px;font-weight:700;white-space:nowrap;color:#fff;text-decoration:none}
.appbar .mark{height:34px;flex:0 0 auto}
.wrap{max-width:720px;margin:0 auto;padding:14px 14px 20px;display:flex;flex-direction:column;gap:12px}
.wrap.wide{max-width:1100px}

/* cards & bits */
.card{background:#fff;border-radius:18px;border:1px solid var(--line);padding:14px;box-shadow:var(--shadow)}
.card h2{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.sec{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 4px -4px;display:flex;justify-content:space-between;align-items:baseline}
.sec a{text-transform:none;letter-spacing:0;font-size:14px;text-decoration:none;font-weight:900}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:900;padding:4px 9px;border-radius:999px;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase}
.chip.paid,.chip.done{background:var(--g100);color:var(--g800)}
.chip.open,.chip.unpaid{background:var(--redsoft);color:var(--red)}
.chip.partial,.chip.warn{background:var(--ambersoft);color:var(--amber)}
.chip.void,.chip.closed,.chip.up{background:#eceff1;color:#46525a}
.chip.next{background:var(--gold);color:#3a2a00}
.chip.test{background:var(--gold);color:#3a2a00}
.chip.hh{background:#fbe6ee;color:var(--hh)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:900;font-size:18px;border-radius:16px;min-height:56px;padding:0 18px;
  border:2px solid transparent;white-space:nowrap;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.1}
.btn.green{background:var(--g700);color:#fff}
.btn.green:active{background:var(--g800)}
.btn.gold{background:var(--gold);color:var(--g900)}
.btn.outline{background:#fff;color:var(--g800);border-color:var(--g700)}
.btn.ghost{background:transparent;color:var(--g800);border-color:var(--line)}
.btn.danger{background:#fff;color:var(--red);border-color:#f0b9b2}
.btn.sm{min-height:44px;font-size:16px;border-radius:13px;padding:0 14px}
.btn.xs{min-height:34px;font-size:14px;border-radius:10px;padding:0 10px}
.btn[disabled],.btn.disabled{opacity:.55;cursor:not-allowed}
.btn small{font-size:12px;font-weight:700;opacity:.9}
.btnrow{display:flex;gap:10px}
.btnrow>*{flex:1}
.flash{border-radius:14px;padding:12px 14px;font-weight:700}
.flash.ok{background:var(--g100);color:var(--g900);border:1px solid #bfdcb6}
.flash.err{background:var(--redsoft);color:var(--red);border:1px solid #f3c1bb}
.note-test{background:var(--goldsoft);border:1px dashed #e3b11c;color:#5b4300;border-radius:12px;padding:10px 12px;font-size:14px}

/* forms */
label.f{display:block;font-weight:900;font-size:14px;color:var(--muted);margin:10px 2px 5px}
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=password],select,textarea{
  width:100%;font:inherit;font-size:17px;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--g400);box-shadow:0 0 0 3px rgba(94,168,81,.18)}
textarea{resize:vertical;min-height:84px;line-height:1.4}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.search{position:relative}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.search input{padding-left:44px;border-radius:999px;min-height:52px}

/* switch */
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.switch .lbl b{display:block;font-size:17px}
.switch .lbl span{font-size:14px;color:var(--muted)}
.tog{position:relative;width:58px;height:34px;flex:0 0 58px}
.tog input{opacity:0;width:0;height:0;position:absolute}
.tog i{position:absolute;inset:0;background:#cfd8cc;border-radius:999px;transition:.15s}
.tog i:before{content:"";position:absolute;width:26px;height:26px;left:4px;top:4px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.15s}
.tog input:checked+i{background:var(--g700)}
.tog input:checked+i:before{transform:translateX(24px)}
.tog input:focus-visible+i{outline:3px solid var(--gold)}

/* lists */
.list{padding:2px 14px}
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1ea;text-decoration:none;color:inherit}
.row:last-child{border-bottom:0}
.row .info{flex:1;min-width:0}
.row .nm{font-weight:900;font-size:16.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .ad{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .amt{font-weight:900;font-size:17px;text-align:right}
.row .amt small{display:block;margin-top:3px}
.av{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;background:var(--g100);color:var(--g800)}
.num{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:17px;background:#eceff1;color:#46525a}
.num.d{background:var(--g100);color:var(--g800)}
.num.n{background:var(--gold);color:#3a2a00}
.empty{text-align:center;color:var(--muted);padding:18px 8px}
.more-link{display:block;text-align:center;font-weight:900;color:var(--g700);font-size:15px;padding:10px 0 6px;text-decoration:none;border-top:1px solid #edf1ea}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px;box-shadow:var(--shadow);text-decoration:none;color:inherit}
.stat .k{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stat .v{font-size:22px;font-weight:900;margin-top:2px}
.stat .s{font-size:13px;color:var(--muted)}
.stat.red{background:#fff6f5;border-color:#f3c9c3}
.stat.red .v{color:var(--red)}
.seg{display:flex;gap:8px}
.seg a{flex:1;text-align:center;padding:12px 0;border-radius:999px;background:#fff;border:2px solid var(--line);font-weight:900;font-size:17px;color:var(--ink);text-decoration:none}
.seg a.on{background:var(--g800);color:#fff;border-color:var(--g800)}

/* customer */
.balcard{border:2px solid #f0c9c3;background:#fffaf9}
.balcard.zero{border-color:#cfe5c8;background:#fbfdf9}
.balcard .lab{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.balcard.zero .lab{color:var(--g800)}
.balcard .big{font-size:42px;font-weight:900;color:var(--red);line-height:1.1}
.balcard.zero .big{color:var(--g800)}
.balcard .side{text-align:right;font-size:14px;color:var(--muted)}
.balcard .side b{color:var(--ink)}
.contact .acts{display:flex;gap:8px;margin-top:12px}
.contact .acts a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:2px solid var(--line);border-radius:12px;padding:9px 0;font-weight:900;color:var(--g800);text-decoration:none;font-size:15px}
.notes{background:#fffbea;border:1px solid #f1df9f}
.notes h2{color:var(--amber)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:15px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:700;overflow-wrap:anywhere}

/* new invoice */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{position:relative;background:#fff;border:2px solid var(--line);border-radius:16px;padding:11px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:84px}
.tile b{display:block;font-size:16.5px;font-weight:900;line-height:1.2}
.tile span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.tile em{display:block;font-style:normal;font-weight:900;color:var(--g800);margin-top:4px}
.tile.on{border-color:var(--g700);background:var(--g50);box-shadow:0 0 0 1px var(--g700)}
.tile.on:after{content:"✓";position:absolute;right:-7px;top:-7px;width:26px;height:26px;border-radius:50%;background:var(--g700);color:#fff;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.tile.custom{border-style:dashed;color:var(--g800)}
.catlab{grid-column:1/-1;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 2px -2px}
.line{display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding:12px 0;border-bottom:1px solid #edf1ea}
.line:last-child{border-bottom:0}
.line .d textarea{font-weight:900;font-size:16px;padding:8px 10px;min-height:44px;resize:none;overflow:hidden;line-height:1.3}
.line .ctl{display:flex;align-items:center;gap:8px;grid-column:1/-1}
.stepper{display:flex;align-items:center;border:2px solid var(--line);border-radius:12px;overflow:hidden}
.stepper button{width:42px;height:42px;border:0;background:#fff;font-size:22px;font-weight:900;color:var(--g800);cursor:pointer}
.stepper input{width:48px;border:0;border-left:2px solid var(--line);border-right:2px solid var(--line);border-radius:0;text-align:center;padding:8px 0;font-weight:900}
.pricebox{display:flex;align-items:center;gap:4px;border:2px solid var(--line);border-radius:12px;padding:0 10px;background:#fff;width:120px}
.pricebox input{border:0;padding:9px 0;font-weight:900;width:100%;box-shadow:none!important}
.line .amt{margin-left:auto;font-weight:900;font-size:17px}
.x{border:0;background:#f3f5f2;color:var(--muted);width:38px;height:38px;border-radius:10px;font-size:20px;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chips button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;color:var(--ink)}
.chips button:active{background:var(--g100)}
.counter{text-align:right;font-size:12px;color:var(--muted);margin-top:4px}
.totals .tr{display:flex;justify-content:space-between;padding:3px 0;font-size:16px}
.totals .tr.prev{color:var(--red);font-weight:700}
.totals .tr.grand{border-top:2px solid var(--ink);margin-top:6px;padding-top:8px;font-size:24px;font-weight:900}
.totals .tr.off{color:var(--muted)}
.sticky{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;background:linear-gradient(rgba(244,247,242,0),var(--bg) 22%);padding:14px 0 4px;margin-bottom:-4px}
.picker{position:relative}
.results{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:6px;overflow:hidden}
.results a{display:block;padding:11px 14px;border-bottom:1px solid #edf1ea;text-decoration:none;color:inherit}
.results a:last-child{border-bottom:0}
.results b{display:block}
.results span{font-size:14px;color:var(--muted)}
.custhead{display:flex;align-items:center;gap:12px}
.custhead .nm{font-weight:900;font-size:18px}

/* tables */
table.t{width:100%;border-collapse:collapse;font-size:15px}
table.t th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:2px solid var(--line)}
table.t td{padding:9px 8px;border-bottom:1px solid #edf1ea;vertical-align:top}
table.t td.r,table.t th.r{text-align:right}
.scroll{overflow-x:auto}

/* checks */
.snap{border:3px dashed var(--g400);background:var(--g50);border-radius:20px;padding:14px;display:flex;gap:14px;align-items:center;opacity:.8}
.snap .ic{width:62px;height:62px;border-radius:50%;background:var(--g800);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 62px}
.snap b{font-size:19px;color:var(--g900);display:block}
.snap span{font-size:14px;color:var(--muted)}
.chk{display:grid;grid-template-columns:1fr;gap:8px;padding:12px 0;border-bottom:1px solid #edf1ea}
.chk .top{display:flex;gap:8px;align-items:center}
.chk .apply{font-size:13.5px;font-weight:700;color:var(--g700)}
.chk .apply.warn{color:var(--amber)}

/* tab bar */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;
  padding:6px 4px calc(8px + env(safe-area-inset-bottom))}
.tab{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:700;color:#6b7a70;width:76px;text-decoration:none}
.tab svg{width:44px;height:30px;padding:3px 10px}
.tab.on{color:var(--g800)}
.tab.on svg{background:var(--g100);border-radius:10px}
.tab.plus svg{background:var(--gold);color:var(--g900);border-radius:12px}

/* login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:20px}
.login .box{background:#fff;border-radius:24px;padding:28px 24px;width:100%;max-width:400px;box-shadow:0 10px 30px rgba(16,93,49,.12);border-top:8px solid var(--g800)}
.login .logo{width:240px;display:block;margin:0 auto 6px}
.login h1{text-align:center;font-size:22px;margin:8px 0 2px;color:var(--g900)}
.login p{text-align:center;color:var(--muted);margin:0 0 14px}
.stripe{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--g800) 0 62%,var(--g400) 62% 86%,var(--gold) 86%)}

@media (min-width:900px){
  body{padding-bottom:0}
  .topnav{display:block}
  .tabbar{display:none}
  .sticky{bottom:0}
  .appbar .mark{display:none}
}
@media (max-width:380px){ .stats .v{font-size:19px} .tiles{grid-template-columns:1fr 1fr} }
@media print{ .tabbar,.topnav,.testbar,.noprint{display:none!important} body{background:#fff;padding:0} }

/* business line (Turf Care / Holiday Heroes) */
.bizseg{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px;box-shadow:var(--shadow)}
.bizseg button{display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;background:transparent;border-radius:13px;min-height:50px;font:inherit;font-weight:900;font-size:16px;color:var(--muted);cursor:pointer}
.bizseg button img{width:30px;height:30px;object-fit:contain}
.bizseg button[data-biz=turf].on{background:var(--g50);border-color:var(--g700);color:var(--g800)}
.bizseg button[data-biz=holiday].on{background:#fdf0f4;border-color:var(--hh);color:var(--hh)}
body.hhmode .appbar{background:linear-gradient(90deg,#8f1f43,var(--hh) 60%,#c4466c)}
body.hhmode .tile.on{border-color:var(--hh);background:#fdf0f4;box-shadow:0 0 0 1px var(--hh)}
body.hhmode .tile.on:after{background:var(--hh)}
body.hhmode .tile em,body.hhmode .tile.custom{color:var(--hh)}
body.hhmode .btn.green{background:var(--hh)}
body.hhmode .btn.outline{color:var(--hh);border-color:var(--hh)}
body.hhmode .tog input:checked+i{background:var(--hhg)}
.wx{display:flex;gap:10px;align-items:stretch;margin-top:10px;flex-wrap:wrap}
.wx .pricebox{min-height:46px}
.skybtns{display:flex;gap:6px;flex:1;flex-wrap:wrap}
.skybtns button{flex:1;min-width:84px;padding:0 6px;min-height:46px;border:2px solid var(--line);background:#fff;border-radius:12px;font:inherit;font-weight:900;font-size:14.5px;cursor:pointer;color:var(--ink);white-space:nowrap}
.skybtns button.on{border-color:var(--g700);background:var(--g50);color:var(--g800)}
.biz{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#fdf0f4;color:var(--hh);border:1px solid #f3c3d2;vertical-align:1px}
.seg.small a{font-size:14px;padding:8px 0}
.seg a.hh.on{background:var(--hh);border-color:var(--hh)}

#wxcard .skybtns{flex:1 1 100%}
#wxcard .skybtns button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;font-size:14px}
#wxcard .skybtns button i{font-style:normal;font-size:20px;line-height:1}
@media (min-width:600px){ #wxcard .skybtns{flex:1 1 0} }
/* start / end time + gallons */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.tfield label.f{display:flex;align-items:center;justify-content:space-between}
.tfield input[type=time]{width:100%;min-height:48px;font-weight:900;font-size:17px}
.nowbtn{border:0;background:var(--g50);color:var(--g800);font:inherit;font-weight:900;font-size:12.5px;border-radius:999px;padding:3px 10px;cursor:pointer}
.hhmode .nowbtn{background:#fbe9ef;color:#9b2149}
.galbox{width:170px;min-height:48px}
.galbox input{font-size:17px}
.galbox span{font-weight:900;color:var(--muted)}
/* per-line application details */
.appd{grid-column:1/-1;margin-top:10px;border:1.5px solid var(--line);border-radius:12px;background:var(--g50)}
.appd summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.appd summary::-webkit-details-marker{display:none}
.appd summary .t{font-weight:900;color:var(--g800);font-size:14.5px}
.appd summary .t::before{content:"▸ ";color:var(--g700)}
.appd[open] summary .t::before{content:"▾ "}
.appd summary .s{font-size:13.5px;color:var(--muted)}
.appd summary .warn,.appd .warn{color:#a15c00;font-weight:900}
.appbody{padding:0 12px 12px}
.al{font-weight:900;font-size:13px;color:var(--muted);margin:10px 2px 5px;text-transform:uppercase;letter-spacing:.05em}
.whos{display:flex;flex-wrap:wrap;gap:6px}
.who{flex:1 1 30%;min-width:96px;border:2px solid var(--line);background:#fff;border-radius:12px;padding:7px 8px;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.who b{display:block;font-size:13.5px;line-height:1.2}
.who span{display:block;font-size:11.5px;color:var(--muted)}
.who.on{border-color:var(--g700);background:#fff;box-shadow:inset 0 0 0 1px var(--g700)}
.who.on b::before{content:"✓ ";color:var(--g700)}
.arow{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.amtbox{width:150px;min-height:46px}
.amtbox span{font-weight:900;color:var(--muted)}
.appd select,.appd input[type=text]{font-size:15px;padding:9px 10px}
.prod{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:6px}
.prod input{width:100%}
.prow{display:flex;gap:6px;margin-top:6px;align-items:center}
.prow>input{flex:1;min-width:0}
.prow .epa{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:900;color:var(--muted);flex:1.35;min-width:0}
.prow .epa input{min-width:0;width:100%;padding-left:8px;padding-right:6px}
.x.sm{width:32px;height:32px;flex:none}
.appadd{border:1.5px dashed var(--g400);background:#fff;color:var(--g800);font:inherit;font-weight:900;font-size:13.5px;border-radius:10px;padding:8px 12px;cursor:pointer;margin-top:4px}
.line>.appadd{grid-column:1/-1;margin-top:8px;justify-self:start}
.lapp{margin-top:6px;font-size:13.5px;line-height:1.4;color:var(--ink);border-left:3px solid var(--g400);padding:2px 0 2px 9px;white-space:normal}
.lapp b{color:var(--g800)}

/* compact service picker: all active services visible at once */
#tiles{gap:8px}
#tiles .tile{min-height:62px;padding:9px 11px;display:flex;flex-direction:column;justify-content:space-between}
#tiles .tile b{font-size:15.5px;line-height:1.18}
#tiles .tile em{margin-top:3px;font-size:14px}

/* sign-in: tap your name + PIN */
.login .people{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px}
.person{display:flex;align-items:center;gap:14px;width:100%;border:2px solid var(--line);background:#fff;border-radius:18px;padding:12px 14px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;min-height:72px}
.person:active,.person:hover{border-color:var(--g700);background:var(--g50)}
.person .pav{width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:var(--g800);color:#fff;font-weight:900;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -3px 0 var(--gold)}
.person .pnm{flex:1;min-width:0}
.person .pnm b{display:block;font-size:20px;font-weight:900;color:var(--g900)}
.person .pnm small{display:block;font-size:13.5px;color:var(--muted)}
.person .chev{font-size:28px;color:var(--g700);font-weight:900}
.linkbtn{display:block;margin:8px auto 0;border:0;background:none;color:var(--g700);font:inherit;font-weight:900;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px}
.pinhead{display:flex;align-items:center;gap:12px;margin-top:6px}
.pinhead h1{text-align:left!important;margin:0!important}
.pinhead p{text-align:left!important}
.back2{width:44px;height:44px;flex:0 0 44px;border-radius:12px;border:2px solid var(--line);background:#fff;font-size:26px;font-weight:900;color:var(--g800);cursor:pointer;line-height:1}
.dots{display:flex;justify-content:center;gap:14px;margin:18px 0 6px;min-height:20px}
.dots i{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--g700);display:block}
.dots i.on{background:var(--g700)}
.pininput{position:absolute;opacity:0;width:1px!important;height:1px;padding:0!important;border:0!important;left:-9999px}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.keypad button{min-height:62px;border-radius:16px;border:2px solid var(--line);background:#fff;font:inherit;font-size:26px;font-weight:900;color:var(--g900);cursor:pointer}
.keypad button:active{background:var(--g100);border-color:var(--g700)}
.keypad button.blank{visibility:hidden}
.whopill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap}
.whopill i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--g900);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
/* people & PINs */
.ucard .uhead{display:flex;align-items:center;gap:12px}
.ucard .pav,.pav{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--g800);color:#fff;font-weight:900;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -3px 0 var(--gold)}
.ucard.off{opacity:.7}
.ugrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:640px){ .ugrid{grid-template-columns:1fr} }
/* prices from the customer's own history */
#tiles .tile em small{font-weight:700;color:var(--muted);font-size:12px}
#tiles .tile em.ask{color:#8a5a00;font-weight:800}
.pricebox.need{border-color:#e6c766;background:#fffbea}
.phint{grid-column:1/-1;font-size:12.5px;color:var(--muted);margin-top:-2px}
.phint.edited{opacity:.85}
.ppchip{grid-column:1/-1;justify-self:start;font-size:12.5px;font-weight:900;color:var(--g800);background:var(--g100);border-radius:999px;padding:3px 10px}
.totals .tr.pp{color:var(--g800);font-weight:900}
/* applied by: one small line, "change" opens the picker */
.wholine{grid-column:1/-1;font-size:14.5px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.wholine b{color:var(--g800)}
.wholine .lic{color:var(--muted);font-size:13px}
.linkbtn.sm{display:inline;margin:0;padding:2px 4px;font-size:14.5px}
.whopick{grid-column:1/-1;border:1.5px solid var(--g400);border-radius:12px;padding:6px 10px 10px;background:#fff}
body.hhmode .wholine,body.hhmode .whopick{display:none}
/* sales by driver */
.dayform{display:flex;gap:8px;align-items:center}
.dayform input[type=date]{flex:1;min-height:44px;font-weight:900;padding:8px 12px}
.dayform .btn{min-width:48px;font-size:22px}
.dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.teamcard{border:2px solid var(--g700);background:linear-gradient(180deg,#fff, var(--g50))}
.teamcard .lab{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--g800)}
.dcard .big,.teamcard .big{font-size:30px;font-weight:900;color:var(--g900);line-height:1.1}
.dname{display:flex;align-items:center;gap:10px}
.dname b{font-size:18px}
.dstats{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.dstats>div{flex:1;min-width:70px;background:var(--cream);border:1px solid #efe5c8;border-radius:12px;padding:6px 8px;text-align:center}
.dstats b{display:block;font-size:19px;font-weight:900;color:var(--g900)}
.dstats span{display:block;font-size:12px;color:var(--muted);font-weight:700}
.teamcard .dstats{margin-top:0}
.split{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.split>div{border-top:3px solid var(--line);padding-top:5px}
.split>div:nth-child(1){border-color:#e9b6ae}.split>div:nth-child(2){border-color:var(--g400)}.split>div:nth-child(3){border-color:var(--gold)}
.split span{display:block;font-size:12.5px;color:var(--muted);font-weight:700}
.split b{font-size:16.5px;font-weight:900}
details.stops{margin-top:10px;border-top:1px solid #edf1ea;padding-top:6px}
details.stops summary{cursor:pointer;font-weight:900;color:var(--g800);padding:4px 0}
.srow{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1ea;text-decoration:none;color:inherit}
.srow:last-child{border-bottom:0}
.srow .info{flex:1;min-width:0}.srow .nm{font-weight:900}.srow .ad{font-size:13.5px;color:var(--muted)}
.srow .amt{font-weight:900;text-align:right}.srow .amt small{display:block;margin-top:2px}
@media print{ .appbar{background:#fff;color:var(--ink);border-bottom:3px solid var(--g800)} .appbar .sub{color:var(--muted)} .card{box-shadow:none;break-inside:avoid} .wrap{max-width:none} .whopill{display:none} }

/* ---- photo deposit: capture */
.snap.on{opacity:1;border-style:solid;align-items:center}
.snap.on .btn{min-height:48px;font-size:17px}
.capcard{display:flex;flex-direction:column;gap:10px}
.capbtns{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.capbtns .btn{width:100%}
.btn.big{min-height:72px;font-size:21px}
.btn.big svg{width:30px;height:30px}
.captip{line-height:1.45}
.upstat .uprow{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.bar{height:10px;border-radius:99px;background:var(--g100);overflow:hidden;margin:8px 0 6px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--g700),var(--g400));transition:width .4s}
.capgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ctile{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.ctile img{display:block;width:100%;height:96px;object-fit:cover;background:#dfe6dc}
.ctile .cap{font-size:13px;padding:6px 8px;line-height:1.25}
.ctile .cap .ok{color:var(--g700);font-weight:900}
.ctile .cap .look{color:var(--amber);font-weight:900}
.ctile.ready{border-color:var(--g400)}
.ctile.pending img{opacity:.75}
.ctile .pbar{height:4px;background:var(--g100)}.ctile .pbar i{display:block;height:100%;background:var(--gold)}
.ctile .spin{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;border:3px solid rgba(255,255,255,.7);border-top-color:var(--g700);animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.btn.dim{opacity:.55}

/* ---- photo deposit: review */
.revbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.revnums{display:flex;gap:16px;flex-wrap:wrap;font-size:15px}
.revnums b{font-size:20px}
.revnums .money{color:var(--muted);font-weight:700}
.revact{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.revact .btn.green{min-height:50px}
.revbar .seg{width:100%}
.revbar .seg{display:flex;gap:6px;flex-wrap:wrap}
.revbar .seg button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-weight:900;color:var(--muted);cursor:pointer}
.revbar .seg button.on{background:var(--g800);color:#fff;border-color:var(--g800)}
.revlist{display:flex;flex-direction:column;gap:12px}
.rcard{background:#fff;border:1px solid var(--line);border-left:6px solid var(--line);border-radius:18px;padding:12px 14px;box-shadow:var(--shadow)}
.rcard.st-ready{border-left-color:var(--g500)}.rcard.st-look{border-left-color:var(--gold)}.rcard.st-stop{border-left-color:var(--red)}
.rcard.st-approved{border-left-color:var(--g800);background:var(--g50)}.rcard.st-skipped{opacity:.6}
.rhead{display:flex;gap:10px;align-items:center;margin-bottom:8px}.rhead .sp{flex:1}.rhead>b{font-size:18px}
.chip.ready{background:var(--g100);color:var(--g800)}.chip.look{background:var(--ambersoft);color:var(--amber)}
.chip.stop{background:var(--redsoft);color:var(--red)}.chip.approved{background:var(--g800);color:#fff}.chip.skipped,.chip.wait{background:#eceff1;color:#46525a}
.rbody{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px}
@media (max-width:760px){.rbody{grid-template-columns:1fr}}
.rimg img{width:100%;border-radius:10px;border:1px solid var(--line);display:block;background:#eee}
.rform{display:flex;flex-direction:column;gap:8px;min-width:0}
.rcust{display:flex;gap:10px;align-items:flex-start}
.rcust .av{width:40px;height:40px;border-radius:50%;background:var(--g800);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;flex:0 0 40px}
.rcust .av.q{background:var(--red)}
.rcust a{color:inherit;text-decoration:none}
.mt{margin-top:3px;color:var(--muted)}
.conf{font-weight:900;border-radius:99px;padding:1px 8px;font-size:12px}
.conf.high{background:var(--g100);color:var(--g800)}.conf.medium{background:var(--ambersoft);color:var(--amber)}.conf.low,.conf.none{background:var(--redsoft);color:var(--red)}
.alts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;color:var(--muted)}
.altbtn{border:1px solid var(--line);background:var(--g50);border-radius:999px;padding:4px 10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--g900)}
.altbtn i{font-style:normal;color:var(--muted);font-weight:400}
.rgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.fld{display:flex;flex-direction:column;gap:3px;min-width:0}
.fld>span{font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.fld input{width:100%;min-height:44px;font-size:17px}
.fld .pricebox{width:100%}
.fld small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.fld .opts{display:flex;gap:4px;flex-wrap:wrap}
.fld.unsure input,.fld.unsure .pricebox{border-color:var(--gold);background:#fffbea}
.fld.unsure>span::after{content:" · check this";color:var(--amber)}
.rplan{font-weight:700;color:var(--g800);font-size:15px}
.rplan.ok{color:var(--g800)}
.flags{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.flags li{border-radius:10px;padding:7px 10px;font-size:14px;line-height:1.35}
.flags li.stop{background:var(--redsoft);color:var(--red);font-weight:700}
.flags li.warn{background:var(--ambersoft);color:#5e3d00}
.flags li.info{background:#eef2f5;color:#46525a}
.dupok{display:flex;gap:6px;align-items:center;margin-top:5px;color:var(--ink);font-weight:400}
.ract{display:flex;gap:8px}
.ract .btn{min-height:46px}
.ract .btn[disabled]{opacity:.45;cursor:not-allowed}
.raw summary{cursor:pointer;color:var(--muted)}
.raw div{color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.sessrow{display:flex;gap:10px;align-items:center}.sessrow .info{flex:1;text-decoration:none;color:inherit}
.card.danger{border:2px solid var(--red)}
.btn.danger{background:var(--red);color:#fff}
.btn.danger[disabled]{opacity:.4;cursor:not-allowed}
.btn.danger.outline{background:#fff;color:var(--red);border-color:var(--red)}
.adminrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}
b.neg{color:var(--red)}
/* properties on the customer page */
.proplist details.prow2{border-bottom:1px solid #edf1ea;padding:10px 14px}
.proplist details.prow2:last-child{border-bottom:0}
.proplist details.prow2>summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer}
.proplist details.prow2>summary::-webkit-details-marker{display:none}
.proplist details.prow2 .info{flex:1;min-width:0}
.proplist .propform{margin-top:6px}
.frow3{display:grid;grid-template-columns:1fr 64px 90px;gap:8px}
.chipbtn{border:1.5px dashed #b9c7b4;background:#fff;border-radius:999px;padding:6px 10px;margin:6px 6px 0 0;font:inherit;font-size:13px;font-weight:700;color:var(--g800)}
.pill.sm{font-size:12px;padding:3px 9px}
/* invoice: property picker + property groups */
.proppick{border:2px solid var(--g700,#2f6b3a)}
.proppick .pph{font-size:15px;margin-bottom:8px}
.proppick .ppall{width:100%;border:2px solid var(--g800,#1f5130);background:#fff;color:var(--g800,#1f5130);border-radius:12px;padding:11px;font:inherit;font-weight:900;font-size:15px}
.proppick .ppall.on{background:var(--g800,#1f5130);color:#fff}
.proppick .ppl{display:flex;flex-direction:column;gap:6px;margin:8px 0 10px}
.proppick .ppc{display:flex;align-items:center;gap:10px;text-align:left;border:1.5px solid #d5ddd2;background:#fff;border-radius:12px;padding:9px 10px;font:inherit;min-height:52px}
.proppick .ppc i{flex:0 0 24px;height:24px;border-radius:7px;border:2px solid #b9c7b4;display:grid;place-items:center;font-style:normal;font-weight:900;color:#fff}
.proppick .ppc.on{border-color:var(--g700,#2f6b3a);background:#f2f8f0}
.proppick .ppc.on i{background:var(--g700,#2f6b3a);border-color:var(--g700,#2f6b3a)}
.proppick .ppc span{flex:1;min-width:0}.proppick .ppc small{display:block;color:var(--muted);font-size:12px}
.proppick .ppc em{font-style:normal;font-weight:900;font-size:13px}.proppick .ppc em.ask{color:var(--amber)}
#lines .lprop{padding:10px 14px 4px;font-weight:900;font-size:14px;color:var(--g800,#1f5130);border-top:2px solid #e3eadf;background:#f7faf5}
#lines .lprop:first-child{border-top:0}
#lines .lprop span{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--g800,#1f5130);color:#fff;border-radius:5px;padding:1px 6px;margin-right:7px;vertical-align:2px}
#lines .line.inprop{background:#fbfdfa}
.ptimes{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;font-size:13px;font-weight:700;color:var(--muted)}
.ptimes label{display:flex;align-items:center;gap:5px}
.ptimes input[type=time]{width:auto;padding:6px 8px;font-size:15px}
.proplist .nm{font-weight:900;font-size:15px}
.proplist .ad{color:var(--muted);font-size:13px}
.proplist summary .pill.sm{background:#fff;border:1.5px solid #cfd9cb;color:var(--g800);border-radius:999px;font-weight:800}
.proppick{scroll-margin-bottom:120px}

.paystat{border-radius:12px;padding:10px 12px;font-size:14px;margin-top:6px;border:1.5px solid #d5ddd2;background:#f7faf5}
.paystat.demo{border-color:#d9b23c;background:#fff8dc}
.paystat.live{border-color:var(--g800)}

/* QA Oct 2026: long web addresses (Settings > Online payments) stay inside a phone screen */
input[type=url]{max-width:100%;box-sizing:border-box}

/* ---------- Oct 2026 round: heads-up notes, program "Next", Outbox, crew home, 48px tap targets */
.headsup{background:#fff6c7;border:1.5px solid #f0d36b;border-left:6px solid var(--gold);color:#4a3a00;border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:15.5px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}
.headsup b{font-weight:900}
.headsup.sm{font-size:14px;padding:6px 9px;margin:6px 0 0;border-radius:9px}
.progline{background:var(--g50);border:1.5px solid #cfe3c6;color:var(--g900);border-radius:12px;padding:9px 12px;margin:0 0 10px;font-weight:700;font-size:15px}
.progline b{color:var(--g800);font-weight:900}
.nextline{font-size:13.5px;font-weight:900;color:var(--g700);margin-top:2px;display:block}
.nextline.done{color:var(--muted);font-weight:700}
.tile.next{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}
.nexttag,.hadtag{align-self:flex-start;display:inline-block;margin:-2px 0 3px;font-size:11.5px;font-weight:900;letter-spacing:.05em;border-radius:999px;padding:1px 8px;background:var(--gold);color:#3b2b00;line-height:17px}
.hadtag{background:#e8ece6;color:var(--muted);letter-spacing:0;font-weight:800;text-transform:none}
.amthint{font-size:12.5px;color:var(--g700);font-weight:700;margin-top:4px;max-width:220px}
.card.queued{background:#fff8dc;border:2px solid var(--gold)}
.card.queued h2{margin-top:0}
.obadge{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 12px;border:2px solid #e2b500;border-radius:14px;background:var(--gold);color:#3b2b00;font:inherit;font-weight:900;font-size:16px;min-height:52px;padding:0 14px;cursor:pointer;text-align:left}
.obadge span{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.obadge.bad{background:var(--red);border-color:var(--red);color:#fff}
.opanel{position:fixed;inset:0;background:rgba(10,30,18,.45);z-index:80;display:flex;align-items:flex-end;justify-content:center}
.osheet{background:#fff;width:100%;max-width:560px;max-height:85vh;overflow:auto;border-radius:20px 20px 0 0;padding:14px 14px calc(18px + env(safe-area-inset-bottom))}
.ohead{display:flex;align-items:center;justify-content:space-between;font-size:19px;margin-bottom:4px}
.oitem{border:1.5px solid var(--line);border-radius:14px;padding:10px;margin-bottom:8px}
.oitem.fix,.oitem.signin{border-color:var(--red);background:var(--redsoft)}
.oitem.sending{border-color:var(--g400)}
.olab{display:flex;flex-direction:column;gap:2px}
.ostat{font-weight:800;color:var(--g800)}
.oitem.fix .ostat,.oitem.signin .ostat{color:var(--red)}
.oacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.otoast{position:fixed;left:50%;transform:translateX(-50%);top:calc(12px + env(safe-area-inset-top));z-index:90;background:var(--g800);color:#fff;border-radius:12px;padding:12px 16px;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.25);max-width:92vw}
.otoast a{color:#fff3c4}
.crewgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.crewbtn{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px;min-height:150px;border-radius:20px;padding:16px;background:#fff;border:2px solid var(--line);color:var(--g900);text-decoration:none;box-shadow:var(--shadow)}
.crewbtn svg{width:38px;height:38px;margin-bottom:auto;color:var(--g700)}
.crewbtn b{font-size:20px;font-weight:900;line-height:1.15}
.crewbtn span{font-size:14px;color:var(--muted);font-weight:600}
.crewbtn.green{background:var(--g800);border-color:var(--g800);color:#fff}
.crewbtn.green svg,.crewbtn.green span{color:#e6f2df}
.crewbtn.gold{background:#fff6d6;border-color:var(--gold)}
@media(max-width:360px){.crewgrid{grid-template-columns:1fr}.crewbtn{min-height:96px}}
.stopacts{display:flex;flex-direction:column;gap:4px}
.x.stopbtn{width:48px;height:48px;font-size:17px}
/* phone width: every tap target at least 48px */
@media(max-width:700px){
  .btn,.btn.sm,.btn.xs{min-height:48px}
  .nowbtn{min-height:48px;min-width:64px;padding:0 14px;font-size:15px;margin-left:6px}
  .x{width:48px;height:48px}
  .pill{min-height:48px;display:inline-flex;align-items:center;padding:0 14px}
  .tile{min-height:72px}
  .skybtns button,.bizseg button,.chips button,.chips .chip,.tabbar .tab{min-height:48px}
  .appadd{min-height:48px}
  .appd summary{min-height:48px;justify-content:center}
  .back{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .results a{min-height:48px}
  select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]){min-height:48px}
  .tog{min-height:48px;display:inline-flex;align-items:center}
}
@media(max-width:700px){
  .sec a{display:inline-flex;align-items:center;min-height:48px;min-width:48px;justify-content:flex-end;margin:-14px 0}
  .sec span a{justify-content:center;min-width:48px}
  .acts a{min-height:48px}
  details:not(.appd):not(.prow2) > summary{min-height:48px;padding-top:12px;padding-bottom:12px;box-sizing:border-box}
  .prow2.add summary{min-height:48px}
  .linkbtn,.linkbtn.sm{display:inline-flex;align-items:center;min-height:48px;min-width:48px;justify-content:center}
  .stepper button{min-width:48px;min-height:48px;width:48px}
  .stepper input{width:48px}
  .x.sm{width:48px;height:48px}
}
.card.queued .btnrow{flex-wrap:wrap}.card.queued .btnrow .btn{flex:1 1 150px}
.recfilter{display:flex;flex-direction:column;gap:8px}
.recrow{display:flex;gap:8px}.recrow label{flex:1;font-size:13px;font-weight:800;color:var(--muted)}.recrow input{width:100%;box-sizing:border-box}
.rec{display:flex;flex-direction:column;gap:3px}.rec.deleted,.rec.voided{border-left:5px solid var(--amber)}.rec.replaced{opacity:.75}
.rechead{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.editrow{padding:8px 0;border-bottom:1px solid #edf1ea}.editrow:last-child{border:0}
.tadj{display:inline-flex;gap:4px;margin-left:4px}
.tadj button{border:0;background:var(--g50);color:var(--g800);font:inherit;font-weight:900;font-size:14px;border-radius:999px;min-width:48px;min-height:48px;cursor:pointer}
.lockednote{font-size:13px;color:var(--amber);font-weight:800;margin-top:6px}
.wirule{font-size:13px;color:var(--muted);margin-top:6px}
.visit{grid-template-columns:1fr}
.trow{display:flex;align-items:center;gap:6px}
.trow input[type=time]{flex:1;min-width:0;width:auto}
.trow .nowbtn{margin-left:0}
.ptimes .tadj button{min-width:44px}
@media(max-width:700px){.ptimes .tadj button,.ptimes .nowbtn{min-width:48px;min-height:48px}}
.recrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.recrow label{min-width:0}
.recrow input{width:100%;min-width:0;box-sizing:border-box}
/* saved application price (customer page + invoice) */
.appprice .aprow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0}
.appprice .aprow>div:first-child{display:flex;flex-direction:column;min-width:0}
.appprice .aprow.sub{border-top:1px solid #edf1ea;padding-left:10px}
.appprice .apbox{width:130px;flex:0 0 auto}
.appprice .apbox input{min-height:48px;font-size:18px;font-weight:900}
.appprice .apbox input[readonly]{background:#f3f5f1;color:#55625a}
.appprice .apfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}
.appprice .apfoot .btn{min-height:48px}
.savep{display:flex;align-items:center;gap:10px;margin:6px 0 2px;padding:8px 10px;background:#fffbea;border:1px solid #f1dc8a;border-radius:10px;font-size:14px;font-weight:700;min-height:48px;cursor:pointer}
.savep input{width:22px;height:22px;flex:0 0 auto}
.ptag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#e7f3e3;color:var(--g800);border-radius:6px;padding:1px 6px;margin-left:4px}
/* route */
.dayc .dayrow{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dayc .dnav{display:flex;gap:6px}.dayc .dnav .btn{min-width:48px;min-height:48px;justify-content:center}
.dayc .dayacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dayc .dayacts form{margin:0}
.dayc .dayacts .btn{min-height:48px}
#startbox{margin-top:8px}
.streethead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 4px 6px}
.streethead>div{display:flex;flex-direction:column;min-width:0}
.streethead .btn{min-height:48px;flex:0 0 auto}
.rstop{padding:12px 14px}
.rstop .rhead{display:flex;gap:10px;align-items:flex-start}
.rstop .rhead .info{flex:1;min-width:0}.rstop .nm{font-weight:900;font-size:17px}.rstop .ad{color:var(--muted)}
.rstop .maplink{min-height:48px;min-width:56px;justify-content:center}
.rstop .side{display:inline-block;font-size:13px;font-weight:800;color:#6b5a1f;margin-top:2px}
.rstop .side.ok{color:var(--g800)}
.rdrive{font-size:13px;font-weight:800;color:var(--muted);margin:-2px 0 6px}
.rpre{margin-top:8px;border-top:1px solid #edf1ea;padding-top:8px}
.rsvc{font-size:15px;margin-bottom:6px}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rgrid label{display:flex;flex-direction:column;font-weight:800;font-size:14px;min-width:0}
.rgrid .pricebox{margin-top:4px}.rgrid .pricebox input{min-height:48px;font-size:18px;font-weight:900;width:100%;min-width:0}
.rtimes{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.rtime{display:flex;align-items:center;gap:6px}
.rtime .rl{width:52px;font-weight:900;font-size:14px}
.rtime input[type=time]{flex:1;min-width:0;min-height:48px;font-size:17px;font-weight:800}
.rtime .tbtn{min-width:52px;min-height:48px;border-radius:12px;border:1.5px solid var(--g300,#bcd3b4);background:#f3f8f0;font-weight:900;font-size:16px;color:var(--g800)}
.racts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.racts .btn{min-height:48px;flex:1 1 auto;justify-content:center}
.racts .btn.big{flex:1 1 100%;font-size:18px}
.rdone{margin-top:8px;font-weight:800;color:var(--g800);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.rdone .btn{min-height:48px}
.rstop.pend .rdone{color:#7a5a00}
.rstop.done{opacity:.85}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chipbtn{min-height:48px;padding:0 14px;border-radius:24px;border:1.5px solid #d6dfd2;background:#fff;font-weight:800;font-size:15px}
.chipbtn.on{background:var(--g700);color:#fff;border-color:var(--g700)}
#skipdlg.hide{display:none}
#skipreason{width:100%;min-height:48px;font-size:16px;box-sizing:border-box}
/* find-as-you-type */
.tfind{position:relative;z-index:30;background:#fff;border:1px solid #dbe4d6;border-radius:14px;box-shadow:0 10px 26px rgba(20,50,30,.16);margin-top:6px;overflow:hidden;max-height:70vh;overflow-y:auto}
.tfind.hide{display:none}
.tfind .frow{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:9px 14px;border-bottom:1px solid #eef2eb;text-decoration:none;color:inherit}
.tfind .frow:last-child{border-bottom:0}
.tfind .frow.on,.tfind .frow:active{background:#f1f7ee}
.tfind .frow b{font-size:16px}
.tfind .frow span{font-size:14px;color:var(--muted)}
.tfind .frow .owes{font-style:normal;color:#b23b26;font-weight:800}
.tfind .frow .nextline{color:var(--g800);font-weight:800;font-size:13px}
.tfind .fnone{padding:14px;min-height:48px;color:var(--muted)}
.tfind .fnone a{font-weight:800}
/* several checks in one photo */
.ctile .found{font-size:13px;padding:6px 8px;background:var(--g100);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:44px}
.ctile .found.many{background:#fff4d6}
.ctile .found .linkbtn{min-height:36px;font-weight:800}
.foundmsg{background:#fff4d6;border-color:#f0d58a;font-size:15px}

/* lawn measuring */
.lawnpage{display:grid;gap:12px}
.lawnaddr .row{display:flex;gap:8px;margin-top:6px}.lawnaddr input{flex:1;min-width:0}
.lawnhead{position:relative;padding-top:16px}
.estbadge{position:absolute;top:12px;right:12px;background:var(--gold);color:var(--g900);font-weight:900;font-size:13px;letter-spacing:.12em;padding:4px 10px;border-radius:999px}
.lawnaddrline{font-weight:800;padding-right:110px}
.lawntotal{font-size:34px;font-weight:900;color:var(--g800);margin:4px 0 2px}.lawntotal .unit{font-size:17px;font-weight:800;color:var(--muted)}
.lawnmapwrap{position:relative;margin:0 -14px}
.lawnmap{height:62vh;min-height:340px;background:#29332a;border-radius:0}
@media(min-width:700px){.lawnmapwrap{margin:0}.lawnmap{border-radius:18px}}
.maphint{position:absolute;left:8px;right:8px;bottom:8px;z-index:500;background:rgba(0,0,0,.66);color:#fff;font-weight:700;font-size:14px;padding:7px 10px;border-radius:12px;pointer-events:none}
.lawntools{display:flex;flex-wrap:wrap;gap:8px}.lawntools .btn{flex:1 1 30%;min-height:48px;font-size:16px;padding:0 10px}
.lawntools .btn[hidden]{display:none}
.lv{border-radius:50%;box-sizing:border-box}
.lv.corner{background:#fff;border:3px solid #1b5e20;width:30px!important;height:30px!important;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.lv.corner.on{background:#ffd54f;border-color:#b71c1c}
.lv.mid{background:rgba(255,255,255,.75);border:2px solid #1b5e20;transform:scale(.55)}
.lawnfacts .fact{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line)}
.lawnfacts .fact span{color:var(--muted);font-size:15px}.lawnfacts .fact b{white-space:nowrap}
.lawnsave{display:grid;gap:8px}
.attrib{font-size:12px;margin:0 2px 10px}
.lawncard .lawnrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.lawncard .lawnrow:first-of-type{border-top:0}
.lawncard .est{font-size:11px;font-weight:900;letter-spacing:.1em;background:var(--gold);color:var(--g900);padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}

/* estimates + messages */
.fields{display:grid;gap:10px}.fields label{display:grid;gap:4px;font-weight:800;font-size:15px}
.fields .two,.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.areatag{font-weight:700;background:#fff7d6;border-radius:6px;padding:0 6px}
.webask{background:var(--g100,#eef6ea);border-radius:12px;padding:10px 12px;font-size:15px;margin:8px 0}
.estlines .eline{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.estlines .eline input[type=checkbox]{width:26px;height:26px;flex:0 0 26px}
.estlines .eline .nm{flex:1;font-weight:800;font-size:16px;min-width:0}
.estlines .eline.extra input[type=text]:not(.pr){flex:1;min-width:0}
.estlines .pricebox{width:112px;flex:0 0 112px}
.esttot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;border-top:2px solid var(--line);padding-top:10px;margin-top:4px;font-size:15px;color:var(--muted)}
.esttot b{color:var(--ink)}.esttot .big{font-size:20px;color:var(--ink);font-weight:900;width:100%;text-align:right}.esttot .big b{color:var(--g800)}
.estview{position:relative;padding-top:16px}.esthead{padding-right:110px;margin-bottom:8px}
.esttable{width:100%;border-collapse:collapse;margin:8px 0;font-size:15.5px}.esttable td{padding:8px 0;border-top:1px solid var(--line);vertical-align:top}
.esttable td.money{text-align:right;white-space:nowrap;padding-left:10px;font-weight:800}
.esttable tr.sub td{color:var(--muted);font-size:14.5px}.esttable tr.tot td{font-weight:900;font-size:19px;border-top:2px solid var(--ink)}
.estnote{background:#fffbea;border-radius:10px;padding:8px 10px;font-size:15px}
.decided{margin-top:8px;font-weight:900;border-radius:10px;padding:8px 10px}.decided.accepted{background:var(--g100);color:var(--g800)}.decided.declined{background:#eceff1;color:#46525a}
.btnrow2{display:flex;flex-wrap:wrap;gap:8px}.btnrow2>*{flex:1 1 30%}
.mono{font-family:ui-monospace,monospace;word-break:break-all;font-size:14px}
.testnote{background:#fff4c2;border:2px dashed #b88a00;color:#5b4500;border-radius:12px;padding:9px 12px;font-weight:800;font-size:14.5px}
.msgrow{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.msgrow .info{flex:1;min-width:0}
.bubble{background:#f1f5ef;border-radius:12px;padding:8px 10px;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.wouldsend{position:relative;border-width:2px}.wouldsend.would_send{border-color:var(--g700)}.wouldsend.held{border-color:var(--gold)}.wouldsend.blocked{border-color:var(--red)}
.wsbadge{display:inline-block;font-weight:900;letter-spacing:.12em;font-size:14px;padding:4px 10px;border-radius:999px;background:var(--g700);color:#fff;margin-bottom:6px}
.wouldsend.held .wsbadge{background:var(--gold);color:var(--g900)}.wouldsend.blocked .wsbadge{background:var(--red)}
.phonebubble{background:#e9f7e4;border-radius:18px 18px 4px 18px;padding:10px 13px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;max-width:92%}
.emailcard{border:1px solid var(--line);border-radius:12px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px}.emailcard hr{border:0;border-top:1px solid var(--line);margin:6px 0}

/* notifications + inbox */
.appbar .in{position:relative}
.appbar .in.hasbell{padding-right:58px}
.bell{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.16);font-size:20px;text-decoration:none;z-index:5}
.bell b{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--red,#c62828);color:#fff;font-size:12.5px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid var(--g800,#105D31)}
.nrow{border-top:1px solid var(--line)}.nrow:first-child{border-top:0}
.nbtn{display:flex;gap:10px;align-items:flex-start;width:100%;background:none;border:0;text-align:left;font:inherit;padding:10px 2px;cursor:pointer;color:inherit}
.nbtn .info{display:grid;gap:2px;min-width:0}.nbtn .nm{font-weight:800}.nbtn .ad{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.nrow.new .nm{font-weight:900}.nrow.new{background:#fffbea}.nicon{font-size:20px;line-height:1.3}
.nrow.estimate_yes .nm{color:var(--g800)}
.row.unread .nm{font-weight:900}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--red,#c62828);margin-right:6px;vertical-align:middle}
.clip{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bubble.big{font-size:17px;padding:12px 14px}
.thread .tmsg{padding:6px 0}.thread .tmsg.in .bubble{background:#f1f5ef;margin-right:14%}.thread .tmsg.out .bubble{background:#e3f0ff;margin-left:14%}
.thread .tmsg.out .small{text-align:right}

.addrsug{list-style:none;margin:6px 0 0;padding:0;border:1px solid var(--line,#dfe6dc);border-radius:12px;overflow:hidden;background:#fff}
.addrsug li+li{border-top:1px solid var(--line,#dfe6dc)}
.addrsug button{display:block;width:100%;text-align:left;background:none;border:0;padding:12px 14px;font:inherit;font-size:16px;min-height:48px;cursor:pointer}
.addrsug button:active{background:#eef6ea}
.lawntype .row{display:flex;gap:8px;align-items:center;margin-top:6px}.lawntype input{flex:1;min-width:0}.lawntype .unit{font-weight:800;color:var(--muted)}
.lawntype.hl{outline:3px solid #ffd54f}
.warnmsg{color:#7a4b00;font-weight:700}
.lawntyped summary{cursor:pointer;padding:6px 0}

.crewbtn.wide{grid-column:1/-1;min-height:96px;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;border-color:var(--g700)}
.crewbtn.wide svg{margin-bottom:0;flex:0 0 38px}.crewbtn.wide b{flex:0 0 auto}.crewbtn.wide span{flex:1;text-align:right}
.btn.bigmeasure{display:flex;width:100%;min-height:56px;font-size:18px;justify-content:center;gap:10px;margin:10px 0}
.btn.bigmeasure svg{width:24px;height:24px}

.updbanner{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:60;background:var(--g800);color:#fff;border:0;border-radius:999px;padding:12px 18px;min-height:48px;font:inherit;font-weight:800;font-size:15px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
@media(max-width:430px){.appbar .pill.hidesm{display:none}}
.photopick button{min-height:44px;padding:0 12px;border:0;border-radius:6px;background:#fff;font:600 14px/1 inherit;font-family:inherit;color:#1b3a24;cursor:pointer}
.lawnhead #mkestbig{margin-top:12px}
.offest .pricebox input{width:90px}
/* ---- business switcher: Turf Care / Holiday Heroes (separate systems) */
.bizbar{display:flex;gap:6px;padding:6px 10px;background:#f4f1e8;border-bottom:1px solid #e3ddcc;position:relative;z-index:5}
.bizbar button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:2px solid #d6d0bf;border-radius:12px;background:#fff;
  font:800 15px/1 inherit;font-family:inherit;color:#3b463f;cursor:pointer}
.bizbar button img{width:22px;height:22px;object-fit:contain}
.bizbar button.on{background:#105D31;border-color:#105D31;color:#fff}
.bizbar button.hh.on{background:#BA2D59;border-color:#BA2D59}
body.hhmode-app .appbar{background:linear-gradient(135deg,#8f1f43,#BA2D59)}
body.hhmode-app .topnav{border-bottom:3px solid #5CA588}
body.hhmode-app .tabbar .tab.on{color:#BA2D59}
body.hhmode-app .btn.green{background:#BA2D59;border-color:#BA2D59}
.hhhero{display:flex;align-items:center;gap:12px}
.hhhero img{height:54px;background:#fff;border-radius:12px;padding:3px}
.hhstats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hhstats .st{background:#fff;border:1px solid #ecd3db;border-radius:14px;padding:12px}
.hhstats .st b{display:block;font-size:22px;color:#8f1f43}
.hhstats .st span{font-size:13px;color:#5b675f}
body.hhmode-app .crewbtn.green{background:#BA2D59;border-color:#BA2D59}
body.hhmode-app .crewbtn.green svg,body.hhmode-app .crewbtn.green span{color:#fde7ee}
body.hhmode-app .crewbtn:not(.green) svg{color:#1f7a55}
.bizbar button.hh.on img{background:#fff;border-radius:6px}
.lawnsum{margin-top:10px;text-align:center}.lawnsum .lawntotal{margin:0}

/* ==== Brand refresh 2026-10-10: matches the website (forest green, cream, muted gold/sage, Cormorant Garamond headings).
   Turf Care only; Holiday Heroes keeps its original palette below. Print templates have their own styles. */
@font-face{font-family:"Cormorant";src:url("fonts/cormorant-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url("fonts/cormorant-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
:root{--g900:#0D2F1D;--g800:#123F27;--g700:#1B5434;--g500:#4F7A55;--g400:#8EA58A;--g100:#E6EBDF;--g50:#F1F3EA;
  --gold:#D4B26A;--goldsoft:#F6EEDC;--cream:#FAF7F0;--ink:#1F2A23;--muted:#4E5A52;--line:#E2DBCB;--bg:#F4F0E6;
  --serif:"Cormorant",Georgia,"Times New Roman",serif;--shadow:0 1px 2px rgba(18,63,39,.05),0 6px 18px -10px rgba(18,63,39,.18)}
body.hhmode-app{--g900:#0b4325;--g800:#105D31;--g700:#14723D;--g500:#3d8a35;--g400:#5EA851;--g100:#e9f3e4;--g50:#f3f8ef;
  --gold:#F9C122;--goldsoft:#fff3c4;--cream:#fbf7ec;--ink:#1d2b22;--muted:#4a5a4f;--line:#d9e3d6;--bg:#f4f7f2}
body.turfmode-app .appbar{background:linear-gradient(160deg,#1B5434 0%,#123F27 60%,#0D2F1D 100%);border-bottom:2px solid var(--gold)}
body.turfmode-app .appbar h1,.login h1,.gm h2{font-family:var(--serif);font-weight:600;letter-spacing:0}
body.turfmode-app .appbar h1{font-size:30px;line-height:1.05}
body.turfmode-app .appbar .sub{color:#E6DCC4}
body.turfmode-app .topnav{border-bottom:2px solid var(--gold)}
body.turfmode-app .topnav img{background:var(--cream)}
body.turfmode-app .topnav a{color:#E9E2CF}
body.turfmode-app .card,body.turfmode-app .stat{border-color:var(--line)}
body.turfmode-app .tabbar .tab.on{color:var(--g800)}
body.turfmode-app .crewbtn.gold{background:var(--goldsoft);border-color:var(--gold)}
body.turfmode-app .bizbar button.on:not(.hh){background:var(--g800);border-color:var(--g800)}
.login{background:var(--cream)}
.login .box{border-top-color:var(--g800);box-shadow:0 1px 2px rgba(18,63,39,.05),0 14px 36px -12px rgba(18,63,39,.22)}
.login h1{font-size:30px;color:var(--g800)}
.stripe{background:linear-gradient(90deg,var(--g800) 0 62%,var(--g400) 62% 86%,var(--gold) 86%)}
/* Good-morning start card */
.gm{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow)}
.gm h2{font-size:30px;line-height:1.1;color:var(--g800);margin:0}
.gm .date{color:var(--muted);font-size:15px;margin:2px 0 10px}
.gm .wx{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:16px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gm .wx b{font-size:24px;color:var(--ink)}
.gm .wind{width:100%;background:var(--goldsoft);border-left:4px solid var(--gold);border-radius:8px;padding:6px 10px;font-size:15px;color:#4a3a10}
.gm ul{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gm li a,.gm li span{display:block;min-height:56px;background:var(--g50);border:1px solid var(--line);border-radius:12px;padding:8px 10px;color:var(--ink);text-decoration:none;font-size:14px}
.gm li b{display:block;font-size:22px;color:var(--g800)}
body.hhmode-app .gm{border-left-color:#BA2D59}body.hhmode-app .gm h2{color:#8f1f43}
.appbar .brandmark{height:44px;width:auto;background:var(--cream);border-radius:10px;padding:3px 8px;margin:-4px 0}
/* bell: own round button in the header's top-right corner; header actions wrap onto a second row instead of sliding under it */
.appbar .in{flex-wrap:wrap;row-gap:10px}
.appbar .in>div:not(.sp){min-width:0}
.appbar .in.hasbell{padding-right:56px;min-height:48px}
.appbar .in.hasbell .bell{top:0;transform:none}
.appbar .in.hasbell .bell{width:46px;height:46px}

/* ==== Holiday Heroes refresh 2026-10-10: cranberry/burgundy + cream + muted gold, a touch of evergreen, Cormorant headings.
   Distinct from Turf Care's forest green. Green status colors (paid/ok) stay evergreen. Print templates untouched. */
body.hhmode-app{--hh:#8E1F3B;--hh-d:#6B1529;--hh-dd:#4A0E1C;--hh-soft:#F7ECEA;--hh-line:#E8D6CF;
  --g900:#173A2C;--g800:#1F4A38;--g700:#2A5E47;--g500:#4F7A63;--g400:#7FA08C;--g100:#E5ECE4;--g50:#F2F3EC;
  --gold:#D4B26A;--goldsoft:#F6EEDC;--cream:#FAF7F0;--ink:#2A1E20;--muted:#5E5052;--line:#E6DCCD;--bg:#F5F0E7;
  --serif:"Cormorant",Georgia,"Times New Roman",serif;--shadow:0 1px 2px rgba(74,14,28,.05),0 6px 18px -10px rgba(74,14,28,.2)}
body.hhmode-app a{color:var(--hh)}
body.hhmode-app .appbar{background:linear-gradient(160deg,#9A2443 0%,#6B1529 60%,#4A0E1C 100%);border-bottom:2px solid var(--gold)}
body.hhmode-app .appbar a,body.hhmode-app .topnav a,body.hhmode-app .tabbar a{color:inherit}
body.hhmode-app .appbar h1,body.hhmode-app .gm h2{font-family:var(--serif);font-weight:600;letter-spacing:0}
body.hhmode-app .appbar h1{font-size:30px;line-height:1.05}
body.hhmode-app .appbar .sub{color:#F0DCC8}
body.hhmode-app .hhhero img.brandmark{height:46px;width:auto;background:var(--cream);border-radius:10px;padding:3px 8px;margin:-4px 0}
body.hhmode-app .topnav{background:var(--hh-dd);border-bottom:2px solid var(--gold)}
body.hhmode-app .topnav img{background:var(--cream)}
body.hhmode-app .topnav a{color:#F1E3D6}
body.hhmode-app .tabbar .tab.on{color:var(--hh)}
body.hhmode-app .tab.on svg{background:var(--hh-soft)}
body.hhmode-app .tab.plus svg{background:var(--gold);color:var(--hh-dd)}
body.hhmode-app .btn.green,body.hhmode-app .crewbtn.green{background:var(--hh);border-color:var(--hh);color:#fff}
body.hhmode-app .btn.green:active{background:var(--hh-d)}
body.hhmode-app .btn.outline{color:var(--hh);border-color:var(--hh)}
body.hhmode-app .crewbtn.green svg,body.hhmode-app .crewbtn.green span{color:#F8E6E9}
body.hhmode-app .crewbtn:not(.green) svg{color:var(--g700)}
body.hhmode-app .crewbtn.gold{background:var(--goldsoft);border-color:var(--gold)}
body.hhmode-app .card,body.hhmode-app .stat{border-color:var(--line)}
body.hhmode-app .pav,body.hhmode-app .person .pav{background:var(--hh)}
body.hhmode-app .hhstats .st{border-color:var(--hh-line);box-shadow:var(--shadow)}
body.hhmode-app .hhstats .st b{color:var(--hh-d)}
body.hhmode-app .gm{border-left-color:var(--gold)}
body.hhmode-app .gm h2{color:var(--hh-d)}
body.hhmode-app .gm li a,body.hhmode-app .gm li span{background:var(--hh-soft);border-color:var(--hh-line);color:var(--ink)}
body.hhmode-app .gm li b{color:var(--hh-d)}
body.hhmode-app .bizbar{background:#F3EDE2}
.bizbar button.hh.on{background:#8E1F3B;border-color:#8E1F3B}
.findmapbtn{margin-top:10px;width:100%}
.chip.emailpref{background:#E4EEF8;color:#174A7A;text-transform:none;letter-spacing:0;font-size:12.5px}
