
:root{--ink:#22262b;--mut:#8c8a86;--bg:#f6f5f2;--card:#fff;--line:#e4e1dc;--tile:#8fa3b3;--lam:#b39a7c;--back:#a596b0;--prep:#aeb2b7;--done:#83a17c;--wip:#c9a86a}
*{box-sizing:border-box}body{margin:0;font-family:Jost,sans-serif;font-weight:300;background:var(--bg);color:var(--ink);letter-spacing:.2px}
.s{display:none;max-width:420px;margin:auto;min-height:100vh}.s.on{display:block}
h1{font-family:'Cormorant Garamond',serif;font-weight:500}
.hero{height:230px;background:linear-gradient(170deg,#3a3f44,#938b82);color:#fff;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 40px,rgba(255,255,255,.05) 40px 41px),repeating-linear-gradient(0deg,transparent 0 30px,rgba(255,255,255,.06) 30px 31px)}
.hero h1{margin:0;font-size:44px;position:relative;letter-spacing:1px}.hero p{margin:6px 0 0;opacity:.85;position:relative;font-size:13px}
.brand{position:absolute;top:22px;left:26px;font-size:10px;letter-spacing:4px;opacity:.85}
.w{padding:22px}.lv{display:flex;gap:6px;overflow:auto;margin-bottom:18px}
.lv a{flex:none;padding:8px 14px;border:1px solid var(--line);border-radius:0;color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:1px;text-transform:uppercase;background:transparent}
.lv a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.card{background:var(--card);border:1px solid var(--line);border-radius:0;padding:16px;margin-bottom:10px}
.u{display:flex;align-items:center;gap:14px}.u input{width:18px;height:18px;accent-color:var(--ink)}
.u b{font-weight:400;font-size:16px}.tags{margin-top:6px}.tag{display:inline-block;font-size:11px;color:var(--mut);margin-right:6px}
.tag:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--c)}
.t{--c:var(--tile)}.l{--c:var(--lam)}.k{--c:var(--back)}.p{--c:var(--prep)}
.dot{margin-left:auto;font-size:11px;color:var(--mut);letter-spacing:.5px}
select,input.f,.btn{width:100%;padding:15px;border-radius:0;border:1px solid var(--line);font:300 15px Jost,sans-serif;background:#fff;color:var(--ink)}
.btn{background:var(--ink);color:#fff;border:0;font-weight:400;display:block;text-align:center;text-decoration:none;margin-top:12px;letter-spacing:2px;text-transform:uppercase;font-size:12px}
.btn.g{background:var(--done);padding:18px}
h2{font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:3px;color:var(--mut);margin:24px 0 10px}
.top{background:var(--ink);color:#fff;padding:26px 22px}.top small{opacity:.7;font-size:10px;letter-spacing:3px}.top h1{margin:6px 0;font-size:34px}
.plan{height:200px;background:#ecebe8;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--mut);font-size:13px;text-align:center}
.row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.sw{width:34px;height:34px;border-radius:0;flex:none}
.row div b{display:block;font-weight:400}.row div span{font-size:12px;color:var(--mut)}
.ok{text-align:center;padding:70px 26px}.chk{width:92px;height:92px;border-radius:50%;border:1px solid var(--done);color:var(--done);font-size:40px;line-height:92px;margin:auto}
.ok h1{margin:24px 0 6px;font-size:36px}.meta{background:#fff;border:1px solid var(--line);padding:6px 18px;text-align:left;margin-top:28px}
.gate{padding:120px 32px;text-align:center}.gate h1{font-size:48px;margin:14px 0 4px}.gate p{color:var(--mut);font-size:13px;margin-bottom:34px}

body{background:#ecebe8}
.w,.gate,.ok{background:#fff;margin:0 18px;position:relative;padding:34px 22px 40px 84px;min-height:calc(100vh - 160px);text-align:left}
.gate,.ok{margin-top:18px;min-height:calc(100vh - 36px)}
.wm{position:absolute;left:12px;top:60px;writing-mode:vertical-rl;transform:rotate(180deg);font:500 58px/1 'Cormorant Garamond',serif;letter-spacing:1px;color:#e7e4df;pointer-events:none;user-select:none}
.card{background:transparent;border:0;border-radius:0;padding:10px 0;margin:0}
h2{font:500 25px 'Cormorant Garamond',serif;letter-spacing:.5px;color:var(--ink);text-transform:uppercase;margin:30px 0 14px;padding-top:30px;border-top:1px solid #e8e6e2}
.w>h2:first-of-type{border-top:0;padding-top:0;margin-top:4px}
.u b,.row div b{letter-spacing:1.6px;font-weight:300;font-size:15px}
.tag,.row div span,.dot{letter-spacing:1.2px}
.row{border-bottom:0;padding:8px 0}
.lv{margin:0 0 26px}.lv a{border:0;border-bottom:1px solid transparent;padding:6px 8px;background:none}.lv a.on{background:none;color:var(--ink);border-bottom-color:var(--ink)}
.meta{border:0;border-top:1px solid #e8e6e2;padding:14px 0 0;margin-top:26px}
.plan{border:0}
.gate h1,.ok h1{font-size:40px}.gate{padding-top:120px}.ok{padding-top:90px}.chk{margin:0}
select,input.f{border:0;border-bottom:1px solid #d9d5cf;padding:12px 0;background:transparent}
.btn{margin-top:22px}
.chk{text-align:center}input.f{text-align:left!important}.dot{text-align:right;max-width:70px}.lvl{display:flex;gap:8px;margin:0 0 30px}.lvl a{position:relative;width:34px;height:34px;border:1px solid #cfcbc4;border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 17px 'Cormorant Garamond',serif;color:var(--ink)}
.lvl a.fin{color:var(--mut);border-color:#e2dfda}.lvl sup{position:absolute;top:-5px;right:-3px;font:300 9px Jost;color:var(--done);background:#fff;padding:0 1px}.lvl a.on{background:var(--ink);color:#fff;border-color:var(--ink)}.lvl a:last-child{font-size:14px}
.ur{display:flex;align-items:center;gap:14px;padding:12px 0;cursor:pointer}.rad{flex:none;width:18px;height:18px;border:1px solid #bdb8b0;border-radius:50%;position:relative}
.ur input:checked+.rad:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ink)}
.un{font:500 21px 'Cormorant Garamond',serif}.sd{font-size:9px;letter-spacing:2.5px;color:var(--mut);margin-left:6px}
.st{margin-left:auto;font-size:9px;letter-spacing:2px;color:var(--mut);white-space:nowrap}.st i{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:6px;vertical-align:middle;background:#cfcbc4}.st i.waiting{background:var(--wip)}.st i.done{background:var(--done)}
.ur.dn{opacity:.7}.ur.dn .rad{background:#a9bba4;border-color:#a9bba4}.ur.dn .un{color:var(--mut)}.lvl a.fin{background:#a9bba4!important;border-color:#a9bba4!important;color:#fff!important}.lvl{margin-bottom:12px!important}.lg{font-size:9px;letter-spacing:2.5px;color:var(--mut);margin-bottom:26px;display:flex;gap:16px}.lg b{display:inline-block;width:7px;height:7px;margin-right:6px;vertical-align:middle}.lvl a,.rad,.ur input:checked+.rad:after{border-radius:0!important}.ur .tag:before{display:none}.ur .tag{margin:0}
.ur input:checked+.rad{background:var(--ink);border-color:var(--ink)}
.ur input:checked+.rad:after{inset:auto;left:6px;top:2px;width:4px;height:9px;background:none;border:solid #fff;border-width:0 1px 1px 0;transform:rotate(45deg)}
.st i{display:none}.st{color:#aeb2b7}.st:has(.waiting){color:#5a5f64}.st:has(.done){color:#83a17c}.addl{display:block;margin-top:14px;font-size:10px;letter-spacing:2.5px;color:var(--mut);text-decoration:none}.addf{display:none;margin-top:18px;padding:18px 0 4px;border-top:1px solid #e8e6e2}.addf.open,#lead.adding .addf{display:block}.addf h3{font:500 20px "Cormorant Garamond",serif;text-transform:uppercase;margin:0 0 6px;letter-spacing:.5px}.addf input.f{margin-top:8px}.pl{display:block;position:relative;margin:0 -22px 0 -62px;border:1px solid #e8e6e2;background:#fbfaf8;overflow:hidden}.pl img{display:block;width:100%;height:auto}
.pn{position:absolute;left:12px;top:10px;background:var(--ink);color:#fff;font:500 22px 'Cormorant Garamond',serif;padding:2px 12px;letter-spacing:1px}
.cmp{position:absolute;right:10px;top:10px;background:#fff;border:1px solid #d9d5cf;font-size:9px;letter-spacing:2px;padding:4px 8px;color:var(--ink)}.cmp i{display:inline-block;width:18px;border-top:1px solid var(--ink);vertical-align:middle;margin:0 4px}
.cr{position:absolute;right:10px;bottom:10px;font-size:8px;letter-spacing:2.5px;color:#5a5f64;background:rgba(255,255,255,.85);padding:3px 6px}
.pc{display:flex;justify-content:space-between;margin:10px -22px 0 -62px;font-size:9px;letter-spacing:2.5px;color:var(--mut)}
.zm.on{display:block;background:#22262b;max-width:none;min-height:100vh}.zs{overflow:auto;height:calc(100vh - 90px)}.zs img{width:260%;display:block}
.zx{display:block;color:#fff;text-decoration:none;font-size:10px;letter-spacing:3px;padding:20px;text-align:right}.zc{color:#a9bba4;font-size:9px;letter-spacing:2.5px;padding:12px 20px}
.wm{position:fixed!important;top:auto!important;bottom:28px;left:calc(max(0px,50% - 210px) + 30px)!important;font-size:52px!important;z-index:0;color:#e4e1dc!important}
.pl,.pc{margin-left:0!important;margin-right:0!important}.w>*{position:relative;z-index:1}
.mt{display:flex;gap:22px;margin:-6px 0 16px;font-size:10px;letter-spacing:3px}.mt a{color:var(--mut);cursor:pointer;padding-bottom:4px;border-bottom:1px solid transparent}.mt a.on{color:var(--ink);border-bottom-color:var(--ink)}
#lead.list #mapv,#lead.list #sheet{display:none}#lead:not(.list) #listv{display:none}
.mapw svg image{filter:grayscale(1) contrast(.55) brightness(1.45)}.mapw{margin:0 -16px 0 -64px;border:1px solid #e8e6e2;background:#fbfaf8}.mapw svg{display:block;width:100%;height:auto}
.mu polygon{fill:rgba(255,255,255,0);stroke:transparent;stroke-width:2;cursor:pointer}.mu.as polygon{fill:rgba(34,38,43,.55)}.mu.dn polygon{fill:rgba(131,161,124,.75)}
.mu.sel polygon{stroke:#22262b;stroke-width:5;fill:rgba(34,38,43,.08)}.ini{font:500 26px Jost;fill:#fff;text-anchor:middle;letter-spacing:1px;pointer-events:none}
.lg2{display:flex;gap:14px;font-size:9px;letter-spacing:2.2px;color:var(--mut);margin:12px 0 4px}.lg2 b{display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:-1px}
.k1{border:1.5px solid var(--ink)}.k2{background:rgba(34,38,43,.55)}.k3{background:#83a17c}.hint{font-size:11px;letter-spacing:1.2px;color:var(--mut);margin:6px 0 0}
#sheet{position:fixed;left:50%;transform:translate(-50%,110%);bottom:0;width:100%;max-width:420px;background:#fff;z-index:20;padding:12px 26px 26px;box-shadow:0 -10px 30px rgba(34,38,43,.16);transition:transform .25s}
#lead.picking #sheet{transform:translate(-50%,0)}.grab{width:38px;height:3px;background:#d9d5cf;margin:0 auto 14px}
.sh{display:flex;justify-content:space-between;align-items:baseline}.sht{font:500 22px 'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.5px}#sclr{font-size:9px;letter-spacing:2.5px;color:var(--mut);cursor:pointer}
.ex{font-size:8px;letter-spacing:2.5px;color:#aeb2b7;margin:6px 0 8px}.cr2{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid #efede9;cursor:pointer}
.av{width:30px;height:30px;background:#22262b;color:#fff;font:400 11px Jost;letter-spacing:1px;display:flex;align-items:center;justify-content:center}.cr2 b{font-weight:300;letter-spacing:1.4px;font-size:14px}.cr2 span{display:block;font-size:10px;color:var(--mut);letter-spacing:1px}.cr2 em{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:2px;color:var(--mut)}
#saddf.open{display:block}
/* app additions */
.lvl a{cursor:pointer;text-decoration:none}
.mapz{overflow:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.mapz>div{width:100%}
.mapw{position:relative}.zh{position:absolute;right:8px;bottom:6px;font-size:8px;letter-spacing:2.5px;color:#8c8a86;background:rgba(255,255,255,.85);padding:3px 6px;pointer-events:none}
.mapw .noimg{display:block;width:100%}.nomap{font-size:11px;letter-spacing:1.2px;color:var(--mut);margin:10px 0 0}
.ur input{display:none}.ur .st b{font-weight:300;display:block;font-size:8px;letter-spacing:1.5px;color:#8c8a86;margin-top:3px;text-align:right}
.empty{font-size:12px;letter-spacing:1px;color:var(--mut);padding:12px 0;border-top:1px solid #efede9}
.btn.off{background:#cfcbc4;pointer-events:none}.btn.ghost{background:#fff;color:var(--ink);border:1px solid #ddd}
#sheet .unas{font-size:9px;letter-spacing:2.5px;color:var(--mut);cursor:pointer;margin-left:16px}
.tx{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #efede9;text-decoration:none;color:var(--ink)}.tx:last-child{border-bottom:1px solid #efede9}
.tx b{font-weight:300;letter-spacing:1.4px;font-size:14px}.tx span{display:block;font-size:10px;color:var(--mut);letter-spacing:1px}.tx em{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:2px}
.ph{display:block;margin-top:18px;font-size:10px;letter-spacing:2.5px;color:var(--mut);cursor:pointer}.ph input{display:none}#phprev{display:block;max-width:100%;margin-top:10px}
.err{color:#5a5f64;font-size:12px;letter-spacing:1px;margin-top:10px;min-height:1em}
.tbc{font-size:8px;letter-spacing:2px;color:#5a5f64;border:1px solid #cfcbc4;padding:1px 5px;margin-left:6px;vertical-align:2px}
.ok .row div span{white-space:normal}
#lead.list #sheet{display:block}
.lg{margin:10px 0 4px;display:flex;flex-direction:column;gap:3px}.lg a{font-family:Jost,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#22262b;border:1px solid #22262b;padding:11px 14px;text-decoration:none;align-self:flex-start}.lg span{font-size:12px;color:#7d8288}

/* per-scope (Oct 30): filter row reuses the MAP/LIST tab style; scope lines use the same square markers */
.scf{flex-wrap:wrap;gap:8px 18px;margin:-4px 0 16px}.scf:empty{display:none}.mu.na polygon{fill:rgba(255,255,255,.55);cursor:default}
.scl{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:9px;letter-spacing:1.6px;color:var(--mut);text-transform:uppercase}
.scl i{display:inline-block;width:7px;height:7px;margin-right:4px;border:1px solid #cfcbc4;vertical-align:-1px}.scl .waiting i{background:var(--ink);border-color:var(--ink)}.scl .done i{background:#a9bba4;border-color:#a9bba4}.scl .cur{color:var(--ink)}
/* Oct 30 QA fixes: faint watermark that stays above the assign sheet; square sage done mark; quiet grey outline on open map units; hide Netlify's injected badge */
.wm{opacity:.42;z-index:1}#lead.picking .wm{z-index:21;opacity:.28}
.chk{border-radius:0!important;border:0!important;background:#a9bba4;color:#fff!important;width:92px;height:92px;line-height:92px}
.mu polygon{stroke:rgba(34,38,43,.28);stroke-width:1.5;vector-effect:non-scaling-stroke}.mu.sel polygon{stroke:#22262b;stroke-width:3}.mu.dn polygon{stroke:rgba(131,161,124,.9)}.mu.na polygon{stroke:rgba(34,38,43,.12)}
#nl-badge-frame,[id^="netlify-"],iframe[title="Powered by Netlify"]{display:none!important}

.bk{display:block;color:#fff;opacity:.7;font-size:10px;letter-spacing:3px;text-decoration:none;margin-bottom:14px}.bk.dk{color:var(--mut);text-align:left;margin:-40px 0 36px;position:relative;z-index:2}
#day .w{position:relative}.dyk{font-size:10px;letter-spacing:2.5px;color:var(--mut);margin:-6px 0 8px}
.dyr{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #eeece8;color:var(--ink);text-decoration:none;position:relative;z-index:2}.dyr:last-child{border:0}
.dyr i{flex:none;width:20px;height:20px;border:1px solid #cfcbc4;font:normal 12px/20px Jost;text-align:center;color:#fff}.dyr.dn i{background:#a9bba4;border-color:#a9bba4}
.dyr div{flex:1;min-width:0}.dyr b{display:block;font-weight:300;font-size:15px;letter-spacing:1.6px}.dyr span{font-size:12px;color:var(--mut);letter-spacing:1.2px}
.dyr em{font-style:normal;font-size:10px;letter-spacing:2px;color:var(--ink)}.dyr.dn em{color:#83a17c}.dyr.dn b{color:var(--mut)}
.txp{margin:-4px 0 18px 46px;font-size:12px;line-height:1.5;color:var(--mut);letter-spacing:.4px}
.tx.sent em{color:var(--mut);text-align:right}.rs{display:block!important;border:0!important;padding:4px 0 0!important;font-size:9px;letter-spacing:1.5px;color:var(--mut);text-decoration:underline}.tx.chg em{color:var(--ink);font-weight:400}.tx.chg .av{background:#5d6166}
.txp{white-space:pre-line}
/* Owner view */
.ad table.atab{width:100%;border-collapse:collapse;font-size:11px}.atw{overflow-x:auto;margin:0 -4px}.atab th,.atab td{padding:9px 2px;border-bottom:1px solid #efede9;text-align:center;font-weight:300}
.atab tr:first-child th{font-size:8px;letter-spacing:1.6px;color:var(--mut);text-transform:uppercase}.atab th:first-child{text-align:left;font:500 18px 'Cormorant Garamond',serif;white-space:nowrap}
.atab small{display:block;font-size:8px;letter-spacing:1.2px;color:var(--mut)}.atab td b{font-weight:400}.atab td.full b{color:var(--done)}.atab .tot{border-left:1px solid #e8e6e2}.atab .sum th,.atab .sum td{border-top:1px solid var(--ink);border-bottom:0}
.arow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #efede9}.arow>div{flex:1;min-width:0}.arow b{font:500 18px 'Cormorant Garamond',serif;display:block}.arow span{font-size:9px;letter-spacing:1.6px;color:var(--mut)}
.arow em{font-style:normal;font-size:9px;letter-spacing:1.8px;color:var(--mut);text-align:right}.arow em.done,.awho li.done span{color:var(--done)}.arow em.waiting{color:#5a5f64}.arow.done b{color:var(--done)}
.asel{width:118px;padding:6px 0;font-size:12px;border:0;border-bottom:1px solid #d9d5cf;background:transparent}
.amini{font-size:9px;letter-spacing:2px;color:var(--ink);border:1px solid #d9d5cf;padding:6px 9px;cursor:pointer;white-space:nowrap;background:#fff}
.abulk{display:flex;flex-direction:column;gap:0;margin-bottom:14px}.abulk .btn{margin-top:8px;padding:12px}.apick .lvl{margin-bottom:10px!important}
.awho{border-top:1px solid #efede9;padding:10px 0}.awho summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.awho summary b{font-weight:300;letter-spacing:1.4px;font-size:14px;display:block}.awho summary span{font-size:9px;letter-spacing:1.6px;color:var(--mut)}
.awho ul{list-style:none;padding:6px 0 0 44px;margin:0}.awho li{font-size:13px;padding:5px 0;display:flex;justify-content:space-between;gap:10px}.awho li span{font-size:8px;letter-spacing:1.6px;color:var(--mut)}.awho li.cx{color:var(--mut);text-decoration:line-through}.awho li.cx span{text-decoration:none}
.aired{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:end;padding:10px 0;border-top:1px solid #efede9}.aired input.f{padding:8px 0;font-size:13px;margin:0}.aired input:first-child{grid-column:1/3}.aired .amini{justify-self:end;margin-top:8px;grid-column:2}
.atoast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:10px;letter-spacing:2px;padding:10px 16px;opacity:0;transition:opacity .2s;z-index:50;pointer-events:none}.atoast.on{opacity:1}
.k3{background:rgba(131,161,124,.75)}

.anav{display:flex;gap:0;margin:0 0 0;background:#fff;border-bottom:1px solid #efede9}.anav a{flex:1;text-align:center;padding:14px 0;font-size:10px;letter-spacing:2.5px;color:var(--mut);text-decoration:none}.anav a.on{color:var(--ink);border-bottom:2px solid var(--ink)}
.lrow{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #efede9;text-decoration:none;color:var(--ink)}.lrow b{font-weight:300;letter-spacing:1.4px;font-size:14px}.lrow span{display:block;font-size:10px;color:var(--mut);letter-spacing:1px;margin-top:2px}.lrow em{margin-left:auto;font-style:normal;color:var(--mut)}
.aback{display:block;font-size:9px;letter-spacing:2px;color:var(--mut);text-decoration:none;margin-bottom:6px}.lmeta{font-size:11px;color:var(--mut);letter-spacing:.8px;margin:-4px 0 14px}
.llink{font-size:12px;word-break:break-all;padding:8px 0 14px}.txp.lin{margin:4px 0 4px;padding:12px;background:#f7f6f3;color:var(--ink)}
.lins{border-top:1px solid #efede9;padding:14px 0}.lih{display:flex;gap:14px;align-items:center;margin-bottom:8px}.lih b{font-weight:300;letter-spacing:1.4px;font-size:14px}.lih span{display:block;font-size:10px;color:var(--mut);letter-spacing:1px}
.lia{margin-left:44px;padding:7px 0;border-top:1px dashed #efede9;font-size:12px}.lia b{font-weight:400;font-size:12px}.lia span{display:block;font-size:10px;color:var(--mut);letter-spacing:.8px}.lia.dn b{color:var(--done)}.lia i{display:block;font-size:11px;margin-top:3px}.lia img{width:80px;height:60px;object-fit:cover;margin-top:5px;display:block}
.pcard{display:block;border-top:1px solid #efede9;padding:16px 0;text-decoration:none;color:var(--ink)}.pch{display:flex;align-items:baseline}.pch b{font:400 22px 'Cormorant Garamond',serif;letter-spacing:1px}.pch em{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:2px;color:var(--mut);border:1px solid #ddd;padding:3px 7px}.pch em.on{color:#fff;background:var(--done);border-color:var(--done)}
.pcard>span{display:block;font-size:10px;color:var(--mut);letter-spacing:1px;margin:3px 0 6px}.psc{font-size:12px;line-height:1.45;padding:3px 0}.psc i{display:block;font-style:normal;font-size:8px;letter-spacing:2px;color:#aeb2b7;text-transform:uppercase}
.pbar{height:4px;background:#efede9;margin:10px 0 4px}.pbar div{height:4px;background:var(--done)}

.parch{margin:22px 0 8px;border-top:1px solid var(--line,#ddd);padding-top:12px}.parch summary{cursor:pointer;font:400 13px Jost,sans-serif;text-transform:uppercase;letter-spacing:2px;letter-spacing:.04em;padding:8px 0;color:var(--mut)}
.pchips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}.pchips a{padding:9px 14px;border:1px solid #ccc;border-radius:20px;text-decoration:none;color:inherit;font:400 14px Jost,sans-serif}.pchips a.on{background:#111;color:#fff;border-color:#111}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #bbb;margin-top:18px}
.pch em.pst-warranty{background:#c9a24b;color:#fff;border-color:#c9a24b}.pch em.pst-closed{background:#888;color:#fff;border-color:#888}
/* Florence owner project page */
.fhead{margin:6px 0 4px}.fhead h1{font-size:40px;margin:0 0 6px;letter-spacing:.5px}.fsub{font-size:14px;color:var(--mut);line-height:1.5}
#fconl{background:#fff;border:1px solid var(--line);border-top:0;padding:4px 18px}
.fct{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.fct:last-child{border:0}
.fct .fr{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mut)}.fct b{font-weight:400;font-size:16px}.fct span{font-size:13px;color:var(--mut)}
.fct a{color:var(--ink);font-size:15px;text-decoration:none;border-bottom:1px solid var(--line);align-self:flex-start;padding:2px 0}.fno{font-style:italic}
.fsec{background:#fff;border:1px solid var(--line);margin-top:14px}.fsec summary{list-style:none;cursor:pointer;padding:18px;font:500 22px 'Cormorant Garamond',serif;display:flex;justify-content:space-between;align-items:center}
.fsec summary::-webkit-details-marker{display:none}.fsec summary:after{content:"+";font:300 20px Jost,sans-serif;color:var(--mut)}.fsec[open] summary:after{content:"–"}
.fsec summary i{font:400 13px Jost,sans-serif;color:var(--done);margin-left:auto;margin-right:14px;font-style:normal}
.fbody{padding:0 18px 18px}.fbody #amain{padding:0}.fbody #amain>h2:first-child{display:none}
.fcrew{padding:12px 0;border-bottom:1px solid var(--line)}.fcrew:last-child{border:0}.fcrew b{font-weight:400;display:block}.fcrew>span{font-size:12px;color:var(--mut)}.fcrew a{color:var(--ink)}
.fin{font-size:14px;padding:6px 0 0 14px;display:flex;justify-content:space-between}.fin i{color:var(--mut);font-size:12px}
.flk{padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.flk b{font-weight:400}.flk span{font-size:12px;color:var(--mut)}
.fpo{padding:14px 0;border-bottom:1px solid var(--line)}.fpoh{display:flex;justify-content:space-between}.fpoh b{font-weight:400}.fpoh em{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mut);font-style:normal}
.fpo>span{font-size:12px;color:var(--mut)}.fkv{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:6px 0 2px}.fkv b{font-weight:400;white-space:nowrap}
.fbl{display:flex;justify-content:space-between;font-size:12px;color:var(--mut);padding:2px 0 2px 12px}.fbl i{font-style:normal}
.fsrc{font-size:11px;color:var(--mut);line-height:1.5;padding-bottom:4px}.fsrc em{color:var(--wip);font-style:normal}
#aleadv:has(.fhead){padding:22px 16px 40px;margin:0;width:auto;max-width:none}.fbody{overflow-x:auto}
.ftap,.fsup summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink);text-decoration:none;list-style:none}
.fsup summary::-webkit-details-marker{display:none}.ftap b,.fsup summary b{font:500 20px 'Cormorant Garamond',serif;flex:1}
.ftap i{font-style:normal;font-size:22px;color:var(--mut)}.fsup summary:after{content:"+";color:var(--mut)}.fsup[open] summary:after{content:"–"}
.f3{flex-basis:100%;display:flex;justify-content:space-between;font-size:12px;color:var(--mut);order:3}.fsup .fpo{border-bottom:1px solid var(--line)}.fvb{display:block;margin:4px 0 6px;cursor:pointer}
.fsec .fsup summary{font:400 14px Jost,sans-serif;padding:16px 0}.fsec .fsup summary:after{content:"+";font:300 18px Jost,sans-serif}.fsec .fsup[open] summary:after{content:"–"}.f3{font:400 12px Jost,sans-serif;gap:8px}
.f3>span{white-space:nowrap}.ftap .f3{font-size:11.5px}
.fsec .fln summary.fkv{display:flex;font:400 14px Jost,sans-serif;padding:6px 0 2px;cursor:pointer}.fsec .fln summary.fkv:after{content:none}.fln summary::-webkit-details-marker{display:none}
.fln summary span:after{content:" +";color:var(--mut);font-size:12px}.fln[open] summary span:after{content:" –"}.fln[open]{padding-bottom:6px}.fln .fco{padding-left:12px}
/* chevrons replace +/- on Financials */
.fln summary span:after,.fln[open] summary span:after{content:none}
.fsec .fln summary.fkv{align-items:center}.fsec .fln summary.fkv b{margin-left:auto}
.fsec .fln summary.fkv:after,.fsec .fsup summary:after,.fsec .fsup[open] summary:after,.ftap i.chev{content:"";display:inline-block;width:7px;height:7px;border-right:1.2px solid var(--mut);border-bottom:1.2px solid var(--mut);transform:rotate(45deg) translateY(-2px);transition:transform .2s;margin-left:12px;flex:none;font-size:0}
.fsec .fln[open]>summary.fkv:after,.fsec .fsup[open]>summary:after{transform:rotate(-135deg) translate(-2px,-1px)}
.fsec>summary:after,.fsec[open]>summary:after{content:"";width:9px;height:9px;border-right:1.2px solid var(--mut);border-bottom:1.2px solid var(--mut);transform:rotate(45deg) translateY(-3px);transition:transform .2s;font-size:0}
.fsec[open]>summary:after{transform:rotate(-135deg) translate(-3px,-1px)}
.fsec>summary:after{display:inline-block}

/* lead level status colours (Oct 31) */
.lvl a.part{background:#efe3c4!important;border-color:#d8c48f!important}.lvl a.asg{background:#dfe3e8!important;border-color:#b9c1ca!important}.lvl a.na{opacity:.35}
.lvl a.fin.on,.lvl a.part.on,.lvl a.asg.on,.lvl a.open.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}.lvl a.fin.on{color:#fff!important}.lvl a.part.on,.lvl a.asg.on,.lvl a.open.on{color:var(--ink)!important}.lvl a.open.on{background:#fff!important}
.lgl{flex-wrap:wrap;gap:8px 16px}.lgl .c-fin{background:#a9bba4}.lgl .c-part{background:#efe3c4;border:1px solid #d8c48f}.lgl .c-asg{background:#dfe3e8;border:1px solid #b9c1ca}.lgl .c-open{background:#fff;border:1px solid #cfcbc4}
.top h1 a.hl{color:inherit;text-decoration:none}
.lg.lgl{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px 14px;font-size:9px;letter-spacing:2px;margin-bottom:22px}.lg.lgl span{display:inline-flex;align-items:center;white-space:nowrap}
.lvl a{background:#fff}.lvl a.on{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important;box-shadow:none!important}.lgl .c-on{background:var(--ink)}

/* material on site (Oct 31) */
.mat{border-top:1px solid #e4e2dc;margin-bottom:8px}
.mrow{padding:12px 0;border-bottom:1px solid #e4e2dc}
.mtop{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.mtop b{font-weight:500;font-size:14px}
.msub{font-size:12px;color:#777;margin-top:3px}
.mst{font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#777}
.mst.on_site{color:#1f1f1f;border-bottom:1px solid #1f1f1f}
.mst.installing{color:#6f8f6a}
/* archive: quiet text link at the very bottom */
.parcw{margin-top:56px;padding-top:14px;border-top:1px solid #eeece6;text-align:center}
.parcw a{font-size:11px;letter-spacing:.06em;color:#aaa;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* lead feedback (Oct 31) */
.fbk{margin-top:40px}
.fbk textarea{width:100%;box-sizing:border-box;border:1px solid #e4e2dc;background:transparent;padding:10px;font:inherit;font-size:13px;resize:vertical}
.fbs{display:inline-block;margin-top:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#1f1f1f;border-bottom:1px solid #1f1f1f;cursor:pointer}
.fbx{font-size:13px;margin-top:6px;white-space:pre-wrap}
.fbq{font-size:14px;line-height:1.45;margin:0 0 8px}

/* Project Map / List toggle + work order requests (Oct 31) */
.ptog{margin:4px 0 14px}#lead.wol .w>*:not(#ptog):not(#wolv){display:none}
.wlv{border-top:1px solid #e4e2dc}.wlv>summary{list-style:none;cursor:pointer;padding:14px 0;display:flex;justify-content:space-between;align-items:center;font-size:15px;letter-spacing:1px}
.wlv>summary::-webkit-details-marker{display:none}.wlv>summary i{font-style:normal;color:var(--mut);font-size:11px;letter-spacing:1.5px}
.wsa{display:inline-block;font-size:10px;letter-spacing:1.5px;color:var(--ink);border:1px solid #ccc;padding:5px 9px;margin:0 0 8px;cursor:pointer}
.wun{padding:8px 0 10px 4px;border-top:1px solid #f0eee9}.wuh{display:flex;justify-content:space-between;align-items:center}.wuh b{font-weight:500;font-size:14px}
.wsc{display:flex;gap:10px;align-items:center;padding:7px 0 7px 6px;font-size:14px}.wsc input{width:20px;height:20px;accent-color:var(--done)}
.wsc span{flex:1}.wsc em{font-style:normal;font-size:10px;letter-spacing:1.5px;color:var(--mut)}.wsc.dn{color:#b9b6b0}.wsc.dn em{color:var(--done)}
.wbar{position:sticky;bottom:0;background:#fff;padding:10px 0 14px;border-top:1px solid #e4e2dc;margin-top:12px}.wbar .btn{margin-top:8px}
.wmon{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:1.5px;color:var(--mut)}.wmon input{font:inherit;padding:6px;border:1px solid #ddd}
.wov{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;justify-content:center;z-index:50}.wov[hidden]{display:none}
.wob{background:#fff;width:100%;max-width:520px;max-height:88vh;overflow:auto;padding:22px}.wob h3{margin:0 0 4px;font-weight:400;font-size:22px}
.wob table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.wob td{padding:5px 0;border-bottom:1px solid #f0eee9}.wob td:last-child{text-align:right}
.wtot{font-size:13px;margin:4px 0}.wtot b{font-weight:500}

/* top nav (Nov 1): sticky Back + breadcrumbs, no text select / tap-to-search */
#nav{position:sticky;top:0;z-index:50;max-width:420px;margin:auto;background:var(--ink);color:#fff;display:flex;align-items:center;gap:4px;padding:0 8px;min-height:52px;border-bottom:1px solid rgba(255,255,255,.12);overflow-x:auto;white-space:nowrap}
#nav[hidden]{display:none}
#nav a{color:#fff;text-decoration:none;min-height:44px;min-width:44px;display:inline-flex;align-items:center;padding:0 10px;font:400 12px Jost,sans-serif;letter-spacing:1.5px;text-transform:uppercase;opacity:.75}
#nav a.nb{opacity:1;font-size:14px;letter-spacing:.5px;text-transform:none;border:1px solid rgba(255,255,255,.3);margin-right:6px;padding:0 14px}
#nav a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:4px}
#nav i{font-style:normal;opacity:.4}
h1,h2,.top,#nav,.fhead,.aback,.bk,.anav,summary{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
a.hl{color:inherit;text-decoration:none}
body.hasnav a.aback:not(.fvb),body.hasnav #ub,body.hasnav #db{display:none}

.ptabs{display:flex;margin:4px 0 16px;border-bottom:1px solid var(--line,#ddd)}.ptabs a{flex:1;text-align:center;padding:16px 0 12px;font-size:14px;font-weight:600;letter-spacing:3px;color:var(--mut);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;min-height:48px;box-sizing:border-box}.ptabs a.on{color:var(--ink);border-bottom-color:var(--ink)}

/* backsplash drawing carousel (Ami, Nov 1) */
.car{position:relative;overflow:hidden;border-radius:10px;background:#fff;border:1px solid #e2e2e2}
.ctr{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ctr::-webkit-scrollbar{display:none}
.ctr figure{flex:0 0 100%;margin:0;scroll-snap-align:center;cursor:zoom-in}
.ctr img{display:block;width:100%;height:auto}
.ctr figcaption{font:600 11px Inter,sans-serif;letter-spacing:1px;padding:8px 12px;border-top:1px solid #eee;color:#2b2f33}
.cnav{position:absolute;top:calc(50% - 34px);width:36px;height:36px;border-radius:50%;border:1px solid #d4d4d4;background:rgba(255,255,255,.92);font-size:22px;line-height:30px;color:#2b2f33;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.cnav.cp{left:6px}.cnav.cn{right:6px}.cnav:disabled{opacity:.25}
.cdots{display:flex;justify-content:center;gap:8px;margin:2px 0 10px}
.cdots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#cfcfcf}
.cdots button.on{background:#2b2f33;width:20px;border-radius:4px}
.cspw{margin:0 0 22px;font:13px/1.45 Inter,sans-serif}.cspw b{display:block;color:#8a5a2b;font-weight:600}.cspw span{display:block;color:#777;font-size:12px}
.cz{position:fixed;inset:0;z-index:60;background:#111;display:flex;flex-direction:column}
.cz[hidden]{display:none}
.cz .zs{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.cz .zs img{height:100%;width:auto;max-width:none;display:block;background:#fff}

.cnone{margin:8px 0 4px;padding:14px;border:1px dashed #c9ccce;border-radius:10px;font-size:14px;line-height:1.45;color:#4a4f54;background:#fafafa}

.disc{margin:10px 0 4px;padding:9px 12px;font-size:13px;line-height:1.45;font-weight:700;color:#b3261e;background:#fdf1f0;border-left:3px solid #b3261e;border-radius:4px}
