.vh{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden}body.sheet-open{overflow:hidden}body[data-screen=plan]{overflow:hidden;height:100dvh}.page-title{font-size:var(--t-xl);line-height:var(--lh-tight);margin:var(--s4) 0 var(--s3)}.page-sub{margin:-8px 0 20px}.topbar .title{text-align:center}.topbar .title:first-child{text-align:left;padding-left:var(--s1)}.upload-status:empty,.upload-status[hidden]{display:none}.btn .chip-count,.chip .chip-count{opacity:1;color:var(--muted);font-weight:600}.chip-on .chip-count{color:inherit;opacity:.75}.chip-wrap{display:flex;flex-wrap:wrap;gap:var(--s2)}.empty .empty-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--s2);margin-top:var(--s4)}.empty .empty-actions>.btn{width:100%}label.btn{cursor:pointer}label.btn.disabled{color:var(--muted);pointer-events:none}.net-pill{position:relative;flex:none;display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--pill-md);padding:0 var(--s3);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:var(--t-xs);font-weight:700;white-space:nowrap;cursor:pointer}.net-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.7}.net-pill:after{content:"";position:absolute;inset:-6px}.net-pill.queued{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.net-pill.queued:before{opacity:1}.net-pill.has-failed{background:var(--danger);color:var(--danger-ink)}.net-pill.held:before{opacity:.5}.plan-top .net-pill{margin-right:var(--s1)}@media(max-width:519.98px){.plan-top:has(.net-pill:not([hidden])) .net-pill .net-word{display:none}.plan-top:has(.net-pill:not([hidden])) .net-pill{margin-right:0;gap:var(--s1);padding:0 var(--s2);min-width:var(--pill-md)}.plan-top:has(.net-pill:not([hidden])) .plan-captures{margin-right:0}.plan-top:has(.net-pill:not([hidden])) .plan-unread:not([hidden]){margin:0}.plan-top:has(.net-pill:not([hidden])) .plan-share{padding:0 var(--s2)}}.topbar .btn{white-space:nowrap}@media(max-width:519.98px){.topbar.has-role:has(.net-pill:not([hidden])) .role-chip{max-width:30vw}.topbar.has-role:has(.net-pill:not([hidden])) .btn-ghost{padding:0 var(--s3)}.topbar.has-role:has(.net-pill:not([hidden])) .net-pill{padding:0 var(--s3)}}.queue-intro{font-size:var(--t-md)}.queue-list{display:flex;flex-direction:column;gap:var(--s2)}.queue-list:empty{display:none}.queue-item{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s3) var(--s3) var(--s3x);border:1px solid transparent;border-radius:var(--r-sm);background:var(--surface-2)}.queue-item.failed{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.queue-item.held{border-style:dashed;border-color:var(--line)}.queue-item .btn-ghost{border:1px solid var(--line);min-height:var(--ctl-sm);padding:0 var(--s3);font-size:var(--t-sm)}.sheet-queue .btn-primary:disabled{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.queue-label{font-weight:700;font-size:var(--t-md);line-height:var(--lh-snug)}.queue-err{margin-top:2px}.queue-item.failed .queue-err{color:var(--danger)}.pill-status.pill-pending{border:1px dashed currentColor;background:transparent}.pill-status.pill-pending svg{width:16px;height:16px;margin-left:var(--s1);vertical-align:-2px}.tl-item.pending{border:1px dashed var(--line);background:transparent}.tl-item.pending.kind-note,.tl-item.pending.kind-reply{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.tl-pending{font-style:italic}.tl-partial{padding:var(--s3) var(--s3x);border:1px dashed var(--line);border-radius:var(--radius)}.plan-empty.plan-err{white-space:normal;max-width:min(88vw,420px)}.plan-err-text{margin-top:var(--s1);font-size:var(--t-sm);line-height:var(--lh-ui)}.sheet{transform:translateY(calc(var(--sheet-dy, 0px) - var(--kb, 0px)));transition:transform .18s ease,max-height .2s ease;max-height:min(92dvh,calc(100dvh - var(--kb, 0px) - 24px))}.sheet.dragging{transition:none}@media(min-width:720px){.sheet{transform:translate(-50%,calc(var(--sheet-dy, 0px) - var(--kb, 0px)))}}.sheet-arming{pointer-events:none!important}@media(max-width:719.98px){.sheet.sheet-pin{max-height:min(58dvh,calc(100dvh - var(--kb, 0px) - 24px))}.sheet.sheet-tall{max-height:min(92dvh,calc(100dvh - var(--kb, 0px) - 24px))}}.sheet-grab{touch-action:none;cursor:grab;padding:var(--s2) var(--s3x) 0;margin:calc(var(--s2) * -1) -16px 0}.sheet-head{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);touch-action:none}.sheet-head h2{flex:1;min-width:0;overflow-wrap:anywhere;font-size:var(--t-lg)}.sheet-head .sheet-x{flex:none;color:var(--muted)}.sheet-body>.stack>.btn-block+.btn-block{margin-top:-4px}.confirm-msg{font-size:var(--t-md)}.menu-list{display:flex;flex-direction:column;margin:0 calc(var(--s1) * -1)}.menu-item{display:flex;align-items:center;width:100%;min-height:56px;padding:0 var(--s1);text-align:left;background:none;border:0;border-bottom:1px solid var(--line);font-size:var(--t-md);font-weight:600;cursor:pointer;text-decoration:none;line-height:var(--lh-ui)}.menu-item:last-child{border-bottom:0}.menu-item.danger{color:var(--danger)}.menu-item.current{color:var(--accent-text)}.menu-item.muted{color:var(--muted);font-weight:600}.menu-group{display:block;padding:var(--s3) var(--s1) var(--s1);font-size:var(--t-xs);font-weight:600;color:var(--muted);border-bottom:1px solid var(--line)}.menu-item.menu-2{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;line-height:var(--lh-snug);padding:var(--s3) var(--s1)}.menu-item .menu-sub{font-size:var(--t-sm);font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.share-tags{flex:none;justify-content:flex-end;max-width:55%;row-gap:var(--s2)}.plan-screen{position:fixed;inset:0;display:flex;flex-direction:column;height:100dvh;background:var(--plan-bg);overscroll-behavior:none}.plan-screen .topbar{position:relative;flex:none}.plan-screen .bottombar{position:relative;flex:none;bottom:auto}.plan-top{gap:var(--s1)}.plan-title{flex:1 1 auto;min-width:124px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:var(--ctl-sm);padding:0 var(--s1);background:none;border:0;border-radius:var(--r-sm);font-weight:700;font-size:var(--t-lg);letter-spacing:-.02em;cursor:pointer}.plan-title svg{color:var(--muted);flex:none}.plan-title:active{background:var(--surface-2)}.plan-title:disabled{color:var(--muted);pointer-events:none}.plan-unread{position:relative;flex:none;min-width:var(--pill-sm);height:var(--pill-sm);padding:0 var(--s2);font-size:var(--t-2xs);line-height:var(--lh-tight);border:0;font-family:inherit;cursor:pointer}.plan-unread:after{content:"";position:absolute;inset:-8px}.plan-more{flex:none}.plan-unread:not([hidden]){margin:0 var(--s2)}.plan-stage-wrap{flex:1;position:relative;min-height:0}.plan-stage{position:absolute;inset:0}.place-banner{position:absolute;top:12px;left:12px;right:12px;z-index:5;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow);font-weight:600}.plan-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;text-align:center;pointer-events:none;padding:var(--s4) var(--s4x);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);white-space:nowrap}.plan-empty .btn{pointer-events:auto;margin-top:var(--s3)}.plan-bottom{display:flex;flex-direction:row;align-items:center;gap:var(--s2)}.plan-filter-btn{flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:var(--ctl-lg);padding:0 var(--s3);overflow:hidden;font-size:var(--t-sm);line-height:var(--lh-snug)}.plan-filter-btn .filter-line{display:flex;align-items:center;width:100%;min-width:0}.plan-filter-btn .ellipsis{flex:0 1 auto;min-width:0}.plan-filter-btn .filter-more{flex:none;white-space:pre}.plan-filter-btn .filter-hidden{flex:none;font-size:var(--t-2xs);font-weight:600;opacity:1;color:var(--muted)}.plan-filter-btn:disabled{color:var(--muted);pointer-events:none}.plan-photo{flex:0 1 auto;min-width:132px;font-size:var(--t-md);font-weight:700}.plan-photo svg{flex:none}.plan-add{flex:none;width:var(--ctl-lg);padding:0;font-size:var(--t-xl);font-weight:600;line-height:1}.plan-share{flex:none;padding:0 var(--s2);font-size:var(--t-sm)}.sheet-filter .plan-chips{overflow:visible;margin:0;padding:0}.sheet-filter .status-line{font-size:var(--t-sm);font-weight:600}.sheet-filter .hide-verified{align-self:flex-start}.place-thumb{width:32px;height:32px;flex:none;border-radius:var(--r-sm);object-fit:cover;background:var(--surface-2)}.plan-err-actions{justify-content:center;flex-wrap:wrap}.plan-err-actions .btn{flex:1 1 140px}.toggle{min-height:var(--ctl-sm)}.toggle .box{width:18px;height:18px;border-radius:var(--r-sm);border:2px solid var(--muted);display:inline-block;position:relative;flex:none}.toggle[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.toggle[aria-pressed=true] .box{border-color:var(--bg);background:var(--bg)}.toggle[aria-pressed=true] .box:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--text);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.toggle:disabled{color:var(--muted);pointer-events:none}.plan-screen.is-placing .plan-stage{outline:2px solid var(--accent);outline-offset:-2px}.plan-cancel{display:none}.plan-screen.is-placing .plan-bottom>:not(.plan-cancel){display:none}@media(min-width:720px){.plan-bottom{padding-left:var(--s4);padding-right:var(--s4)}.plan-filter-btn{flex:1 1 auto;max-width:480px}.plan-photo{min-width:180px}}.sheet-pin{padding-top:0}.sheet-pin .sheet-grab{position:sticky;top:0;z-index:3;background:var(--surface);margin-top:0;padding-top:var(--s3)}.sheet-pin .sheet-head{position:sticky;top:var(--pin-stick-head, 23px);z-index:3;background:var(--surface);margin:0 -16px var(--s3);padding:0 var(--s3x)}.sheet-pin .pin-actions{position:sticky;top:var(--pin-stick-act, 88px);z-index:2;background:var(--surface);margin:0 -16px;padding:0 var(--s3x) var(--s2)}.sheet-pin .pin-head{min-width:0}.pin-title{font-size:var(--t-lg);letter-spacing:-.02em;padding-left:calc(var(--dot-sm) + var(--s1));position:relative}.pin-title:before{content:"";position:absolute;left:0;top:50%;width:var(--dot-sm);height:var(--dot-sm);margin-top:calc(var(--dot-sm) / -2);border-radius:50%;background:var(--tag, var(--muted))}.pin-meta{margin-top:var(--s2);padding-left:calc(var(--dot-sm) + var(--s1));flex-wrap:wrap;row-gap:var(--s1)}.pin-meta .pill-status{flex:none;white-space:nowrap}.pin-actions{flex-wrap:wrap}.pin-actions .btn{flex:1}.pin-note{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:var(--s3);width:100%;padding:var(--s3) var(--s3x);background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-sm);text-align:left;font-size:var(--t-md);line-height:var(--lh-ui);cursor:pointer;white-space:pre-wrap}.pin-note:after{content:"";position:absolute;inset:-9px 0}.pin-note:active{border-color:var(--line)}.pin-note .pin-note-text{font-weight:600;line-height:var(--lh-snug)}.pin-note .edit-hint{font-size:var(--t-xs)}.timeline{display:flex;flex-direction:column;gap:var(--s3)}.tl-item{padding:var(--s3) var(--s3x);border-radius:var(--r-sm);background:var(--surface-2)}.tl-item.tradie,.tl-item.crew{border-left:3px solid var(--accent)}.tl-item.kind-done,.tl-item.kind-verify,.tl-item.kind-reopen{background:transparent;border:1px dashed var(--line);padding:var(--s2) var(--s3x)}.tl-head{flex-wrap:wrap;row-gap:2px}.tl-who{font-weight:700;font-size:var(--t-sm);min-width:0;overflow-wrap:anywhere}.tl-time{flex:none;font-size:var(--t-xs)}.tl-text{margin-top:var(--s2);font-size:var(--t-md);white-space:pre-wrap}.tl-photos{margin-top:var(--s3)}.tl-photos .thumb{border:0;padding:0;cursor:pointer}.tl-del{margin-left:auto;color:var(--muted)}.reply-box{padding-top:var(--s2);border-top:1px solid var(--line)}.pin-note-wrap:empty{display:none}.reply-row{align-items:flex-start}.picker-grid{margin-top:var(--s3);gap:var(--s3);grid-template-columns:repeat(auto-fill,88px)}.picker-add{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);background:transparent;color:var(--muted);cursor:pointer}.picker-add .picker-add-glyph{font-size:var(--t-xl);font-weight:600;line-height:1}.picker-add:active{background:var(--surface-2)}.picker-status{margin-left:var(--s1)}.picker-status:empty{display:none}.tag-picker{display:flex;flex-direction:column;gap:var(--s3)}.new-tag{padding:var(--s3);border-radius:var(--r-sm);background:var(--surface-2);display:flex;flex-direction:column;gap:var(--s3)}.new-tag .field input{background:var(--surface)}.chip-new{border-style:dashed}.sheet-newpin .field textarea{font-size:var(--t-lg);min-height:84px;line-height:var(--lh-snug)}.sheet-newpin{--newpin-band: calc(var(--s3) + var(--ctl-lg) + var(--s3x) + var(--safe-b));padding-bottom:0;scroll-padding-bottom:var(--newpin-band)}.sheet-newpin .field:has(>textarea){margin-bottom:min(var(--newpin-band),var(--kb, 0px))}.sheet-newpin .newpin-actions{position:sticky;bottom:0;z-index:2;background:var(--surface);margin:0 -16px;padding:var(--s3) var(--s3x) calc(var(--s3x) + var(--safe-b))}.viewer{position:fixed;inset:0;z-index:90;background:#000;color:#fff}.viewer-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--s2) + var(--safe-t)) var(--s3) var(--s2);background:linear-gradient(rgba(0,0,0,.6),transparent)}.viewer-count{font-weight:700;font-size:var(--t-sm);padding-left:var(--s2)}.viewer-x{color:#fff}.viewer-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.viewer-track::-webkit-scrollbar{display:none}.viewer-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;display:flex;align-items:center;justify-content:center}.viewer-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.plan-superseded{position:absolute;top:var(--s3);left:var(--s3);right:var(--s3);z-index:5;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s3) var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-weight:600}.plan-superseded .grow{min-width:0;font-size:var(--t-sm)}.plan-superseded .btn{flex:none}.plan-screen.is-superseded .plan-photo,.plan-screen.is-superseded .plan-add{display:none}.plan-screen.is-superseded .plan-filter-btn{flex:1 1 auto}.plan-card.superseded .plan-name{color:var(--muted)}.plan-captures{flex:none;background:var(--surface-2);color:var(--text);border:1px solid var(--line);padding:0 var(--s2);height:var(--pill-sm);min-width:var(--pill-sm);font-size:var(--t-2xs);white-space:nowrap;cursor:pointer;position:relative}.plan-captures:after{content:"";position:absolute;inset:-8px}.plan-captures .cap-word{white-space:pre}@media(max-width:429.98px){.plan-captures .cap-word{display:none}}.plan-top .plan-captures{margin-right:var(--s1)}@media(max-width:519.98px){.plan-verify .floaty-note,.plan-top:has(.plan-verify:not([hidden])) .plan-unread .floaty-note{display:none}}.color-dots{display:flex;flex-wrap:wrap;gap:var(--s1);padding:2px 0}.color-dot{width:var(--ctl-sm);height:var(--ctl-sm);border-radius:50%;border:3px solid transparent;padding:var(--s1);cursor:pointer;background-clip:content-box}.color-dot.on{border-color:var(--text)}
