:root{--white:#ffffff;--grey-50:#f5f5f7;--grey-100:#e8e8ed;--grey-200:#d2d2d7;--grey-500:#6e6e73;--grey-900:#1d1d1f;--green-700:#0a6e4a;--green-600:#0b7a53;--green-500:#109a69;--green-50:#e6f4ee;--bg:#ffffff;--bg-alt:#f5f5f7;--surface:#ffffff;--surface-2:#f5f5f7;--fg:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--bar:rgb(255 255 255/.82);--bar-fg:#1d1d1f;--bar-muted:#6e6e73;--bar-line:rgb(0 0 0/.08);--tint:#f5f5f7;--tint-fg:#1d1d1f;--selected:#1d1d1f;--selected-fg:#ffffff;--accent:#0b7a53;--accent-hover:#0a6e4a;--accent-fg:#ffffff;--accent-soft:#e6f4ee;--accent-ink:#0a6e4a;--copper:#0b7a53;--ok:#157040;--ok-soft:#e5f4ea;--warn:#8a5a00;--warn-soft:#fbf1dc;--bad:#c4281c;--bad-soft:#fde8e6;--focus:#0b7a53;--shadow-sm:0 1px 2px rgb(0 0 0/.04);--shadow-md:0 20px 50px -20px rgb(0 0 0/.18),0 4px 12px -4px rgb(0 0 0/.06);--display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif;--body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1.0625rem;--fs-lg:1.3125rem;--fs-xl:1.75rem;--fs-2xl:2.5rem;--fs-hero:clamp(2.75rem,6.5vw,5rem);--track-display:-.022em;--r-sm:12px;--r:18px;--r-lg:28px;--r-pill:980px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:56px;--sp-8:96px}:root,:root[data-theme=dark]{color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg-alt);color:var(--fg);font-family:var(--body);font-size:16px;letter-spacing:-.01em;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:10;background:var(--bar)}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15}h1{font-size:2rem;letter-spacing:var(--track-display);line-height:1.1}h1,h1.sub,h2{font-weight:700}h1.sub,h2{font-size:1.3rem;letter-spacing:-.015em}[tabindex="-1"]:focus{outline:none}h3{font-size:1.02rem;font-weight:700}p{margin:0}.money,.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}header.top{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:5;background:var(--bar);color:var(--bar-fg);border-bottom:1px solid var(--bar-line);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.wrap{max-width:560px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.topbar{justify-content:space-between;gap:12px;padding-block:10px}.brand,.topbar{display:flex;align-items:center}.brand{font-family:var(--display);font-weight:600;font-size:1.25rem;letter-spacing:-.025em;gap:8px;cursor:pointer;background:none;border:0;color:var(--fg);padding:0}.brand i{display:inline-block;width:22px;height:22px;border-radius:7px 7px 7px 2px;background:var(--accent);position:relative}.brand i:after{content:"";position:absolute;left:5px;right:5px;top:6px;height:8px;border-top:2px solid var(--accent-fg);border-bottom:2px solid var(--accent-fg)}.seg{display:flex;background:var(--surface-2);border-radius:999px;padding:3px}.seg button{border:0;background:none;color:var(--muted);font:600 .82rem var(--body);padding:6px 12px;border-radius:999px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgb(0 0 0/.12)}main{padding-block:20px 60px;gap:20px}.stack,main{display:flex;flex-direction:column}.stack{gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:.85rem}.eyebrow{font:600 .72rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.card{border:0;border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}.btn,.card,button{background:var(--surface)}.btn,button{font:500 .95rem var(--body);border-radius:var(--r-pill);padding:11px 16px;border:1px solid var(--line);color:var(--fg);cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ok{background:var(--ok);border-color:var(--ok);color:var(--surface)}.btn-ghost{background:none;border-color:transparent;color:var(--muted);padding-inline:6px}.btn-block{width:100%}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.88rem}label .hint{font-weight:400;color:var(--muted);font-size:.8rem}input,select,textarea{font:400 1rem var(--body);color:var(--fg);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;width:100%;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{min-height:90px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.cats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.cat{text-align:left;padding:14px;display:flex;flex-direction:column;gap:6px;min-height:96px;border-radius:var(--r)}.cat b{font-family:var(--display);font-size:1.02rem}.cat span{font-weight:400;color:var(--muted);font-size:.8rem}.cat[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.pill{display:inline-flex;align-items:center;gap:5px;font:600 .74rem var(--body);padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.accent{background:var(--accent-soft);color:var(--accent-ink)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.shots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.shots li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}.shots li i{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font:700 .7rem var(--body);font-style:normal;color:var(--muted)}.shots li.done i{background:var(--ok);border-color:var(--ok);color:var(--surface)}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.thumbs figure{margin:0;position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--surface-2);max-width:100%}.thumbs img{width:100%;height:100%;object-fit:cover;display:block}.thumbs figure button{position:absolute;top:4px;right:4px;padding:0;width:24px;height:24px;border-radius:50%;font-size:.9rem;line-height:1;background:rgb(0 0 0/.6);color:#fff;border:0}.drop{border:2px dashed var(--line);border-radius:var(--r);padding:18px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font:500 .88rem var(--body);padding:8px 12px;border-radius:999px}.chip[aria-pressed=true]{background:var(--selected);color:var(--selected-fg);border-color:var(--selected)}.steps{display:flex;gap:6px}.steps span{flex:1 1;height:4px;border-radius:2px;background:var(--line)}.steps span.on{background:var(--accent)}table.lines{width:100%;border-collapse:collapse;font-size:.9rem}table.lines td,table.lines th{padding:7px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}table.lines th{font:600 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}table.lines td.r,table.lines th.r{text-align:right;white-space:nowrap;padding-left:10px}table.lines tr.total td{border-bottom:0;font-weight:700;font-size:1.05rem;padding-top:10px}.big{font-family:var(--display);font-weight:600;font-size:2.2rem;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notice{border-radius:var(--r-sm);padding:10px 12px;font-size:.88rem;background:var(--surface-2)}.notice.warn{background:var(--warn-soft);color:var(--fg)}.notice.ok{background:var(--ok-soft)}.notice.accent{background:var(--accent-soft)}ul.plain{padding-left:18px;gap:3px;font-size:.9rem}.tl,ul.plain{margin:0;display:flex;flex-direction:column}.tl{list-style:none;padding:0;gap:8px;font-size:.85rem}.tl li{display:flex;gap:10px}.tl time{color:var(--muted);flex:none;width:70px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jobrow{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:12px;border-radius:var(--r)}.jobrow img{object-fit:cover}.jobrow .ph,.jobrow img{width:56px;height:56px;border-radius:var(--r-sm);flex:none;background:var(--surface-2)}.jobrow div{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:3px}.jobrow b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-line{display:grid;grid-template-columns:1fr 64px 92px 28px;grid-gap:6px;gap:6px;align-items:center}.edit-line input{padding:8px;font-size:.9rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.stat{background:var(--surface);border:0;border-radius:var(--r);box-shadow:var(--shadow-sm);padding:14px}.stat b{display:block;font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:1.3rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{font-size:.75rem;color:var(--muted)}.spinner{width:18px;height:18px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);box-shadow:var(--shadow-md);padding:11px 18px;border-radius:var(--r-pill);font-weight:600;font-size:.9rem;z-index:20;max-width:calc(100% - 32px)}.proto{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}details summary{cursor:pointer;font-weight:600}.tradie-pick,.tradie-pick.card{flex-direction:row}.tradie-pick{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;border-radius:var(--r);padding:14px}.tradie-pick[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tradie-pick .av{flex:none;width:40px;height:40px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-family:var(--display);font-weight:800}.tradie-pick div.info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}@media (max-width:420px){.grid2{grid-template-columns:1fr}.edit-line{grid-template-columns:1fr 1fr 28px;row-gap:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}.edit-line input[data-f=label]{grid-column:1/-1}}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}label.check{flex-direction:row;align-items:center;gap:10px;font-weight:500}label.check input{width:20px;height:20px;flex:none;accent-color:var(--accent)}.big-btn{width:100%;padding:16px;font-size:1.05rem}.hero h1{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;line-height:1.05}ol.how{margin:0;padding:0;list-style:none;counter-reset:how;display:flex;flex-direction:column;gap:12px}ol.how li{counter-increment:how;display:grid;grid-template-columns:30px 1fr;grid-column-gap:10px;column-gap:10px}ol.how li:before{content:counter(how);grid-row:span 2;width:26px;height:26px;border-radius:50%;background:var(--tint);color:var(--tint-fg);display:grid;place-items:center;font:700 .8rem var(--body)}ol.how span{color:var(--muted);font-size:.88rem}.acct{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--fg);max-width:60vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acct .dot{width:10px;height:10px;border-radius:50%;flex:none}.swatch{width:34px;height:34px;border-radius:50%;padding:0;border:2px solid var(--surface)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--fg)}.thumbs .rm{position:absolute;top:4px;right:4px;width:26px;height:26px;padding:0;border-radius:50%;background:rgb(0 0 0/.6);color:#fff;border:0;font-size:1rem;line-height:1}body.cust header.top{display:none}.cust-head{background:var(--brand);color:#fff;border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:4px}.cust-head a{color:#fff}.cust-biz{font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.01em}.sent-with{text-align:center;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:4px}.sent-with a{color:var(--accent-ink);font-weight:600}.preview-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--fg);color:var(--bg);padding:8px 8px 8px 14px;border-radius:var(--r);font-size:.85rem;font-weight:600}.preview-bar button{padding:7px 12px;font-size:.85rem}a.btn{text-align:center;text-decoration:none;display:inline-block}@media (max-width:420px){.grid3{grid-template-columns:1fr 1fr}.grid3 label:first-child{grid-column:1/-1}.hero h1{font-size:1.7rem}}.mic{padding:0 4px;margin-left:6px;color:var(--accent-ink);font-size:.8rem;font-weight:600}.mic.on{color:var(--bad)}.card.import{border-style:dashed}.member{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.member select{width:auto;padding:6px 8px;font-size:.85rem}.member label.check{font-size:.8rem;white-space:nowrap}label.assign{flex-direction:row;align-items:center;gap:10px;font-weight:500}label.assign select{flex:1 1}ul.perks{margin:4px 0 0;padding-left:18px;font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;gap:2px}.card.plan .info{gap:6px}.pstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));grid-gap:8px;gap:8px}.pstats div{display:flex;flex-direction:column}.pstats b{font-family:var(--display);font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pstats span{font-size:.72rem;color:var(--muted)}#hdr-right{min-width:0;display:flex;justify-content:flex-end}.acct{max-width:100%;min-width:0}.acct .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}[hidden]{display:none!important}.member{flex-wrap:wrap;row-gap:4px}.member>.stack{flex:1 1 150px}.cat,.jobrow,.tradie-pick{border-color:transparent;box-shadow:var(--shadow-sm)}.jobrow,input,select,textarea{background:var(--surface)}main .btn:not(.btn-primary):not(.btn-ok),main button:not(.btn-primary):not(.btn-ok):not(.btn-ghost):not(.chip):not(.swatch):not(.jobrow):not(.tradie-pick):not(.cat):not(.rm){background:var(--surface);border-color:var(--line)}.jobrow:hover,.tradie-pick:hover{border-color:color-mix(in srgb,var(--fg) 22%,var(--line))}button:not(.btn-primary):not(.btn-ok):not(.btn-ghost):not(:disabled):hover{border-color:color-mix(in srgb,var(--fg) 25%,var(--line))}.btn-ghost:hover{color:var(--fg)}header.top .acct{color:var(--bar-fg)}.hero .eyebrow{color:var(--muted)}.cat[aria-pressed=true]{box-shadow:0 0 0 1px var(--accent)}table.lines td.r{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.btn,button{transition:none}}a{color:var(--accent-ink)}.tl time{width:96px}.edit-line .x{width:28px;height:28px;padding:0;border:0;background:none;color:var(--muted);font-size:1.1rem}