:root{--bg:#fbfbfd;--surface:white;--fg:#111;--muted:#666;--line:#e3e3e8;--accent:#2862c8;--accent-fg:white;--purple:#6b3fa0;--amber:#b25a00;--red:#b00020;--green:#1d7a2e;--done-bg:#f1f7f2;--redo-bg:#fff7eb;--self-bg:#fdfde9;--shadow:#00000026;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0e0f12;--surface:#181a1f;--fg:#ededee;--muted:#9298a3;--line:#2a2d33;--accent:#5c8fe6;--accent-fg:#0e0f12;--purple:#9a73d0;--amber:#e09a3a;--red:#e0566c;--green:#4fbe6a;--done-bg:#1f2a23;--redo-bg:#2a2317;--self-bg:#232318;--shadow:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}a{color:var(--accent);text-decoration:none}button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;padding:.5rem 1rem}button:disabled{opacity:.6;cursor:progress}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}input,textarea{font-family:inherit;font-size:max(1rem,16px);font-weight:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;width:100%;padding:.5rem .6rem}select{font-family:inherit;font-size:max(1rem,16px);font-weight:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:.5rem .6rem}main{max-width:48rem;margin:0 auto;padding:1rem}.helper-app{min-height:100%}.app-header{border-bottom:1px solid var(--line);background:var(--surface);padding:.75rem 1rem;padding-top:max(.75rem, env(safe-area-inset-top));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));justify-content:space-between;align-items:center;display:flex}.app-header h1{flex:none;margin:0;font-size:1.25rem}.app-header{flex-wrap:wrap;gap:.5rem}.build-badge{color:var(--muted);background:var(--surface);border:1px solid var(--line);vertical-align:.1em;border-radius:4px;margin-left:.4rem;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:400}.header-refresh{border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.85rem;font-weight:500;display:inline-flex}.header-refresh:hover{border-color:var(--accent);color:var(--accent)}.header-refresh:active{background:var(--bg)}@media (width<=480px){.header-refresh-label{display:none}}.user-pill{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;font-size:.85rem;display:flex}.user-pill>span{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.tabs{border-bottom:1px solid var(--line);background:var(--surface);padding:.5rem 1rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));flex-wrap:wrap;gap:.25rem;display:flex;overflow-x:auto}.tabs a{color:var(--fg);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:.5rem .9rem;font-weight:500}.tabs a:hover{background:var(--bg)}.tabs a.active{background:var(--accent);color:var(--accent-fg)}.app-body{max-width:48rem;padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));margin:0 auto}.progress{background:var(--line);border-radius:999px;height:1.5rem;margin-bottom:1rem;position:relative;overflow:hidden}.progress-bar{background:var(--green);height:100%;transition:width .3s}.progress-label{color:#fff;mix-blend-mode:difference;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;inset:0}.task-group{margin-bottom:1.5rem}.task-group h2{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:0 0 .5rem;font-size:.85rem}.task-list{margin:0;padding:0;list-style:none}.task-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:grid}.task-row.done{background:var(--done-bg)}.task-row.redo{background:var(--redo-bg);border-color:var(--amber)}.recent-completions li.needs-redo{border-color:var(--amber)}.task-row.static{grid-template-columns:minmax(0,1fr) auto}.task-children{border-top:1px dashed var(--line);grid-column:1/-1;margin:.5rem 0 0;padding:.25rem 0 0 1.5rem;list-style:none}.task-children .task-row{border-color:var(--line);background:var(--bg);margin-top:.4rem}.task-row .checkbox input{margin:0;transform:scale(1.4)}.task-link{color:var(--fg);flex-direction:column;gap:.25rem;min-width:0;display:flex}.task-title{overflow-wrap:anywhere;font-weight:500}.task-room{color:var(--muted);font-size:.85rem}.task-blurb{color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.row-photo-strip{grid-column:1/-1;gap:.4rem;margin-top:.4rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.row-photo-strip-cell{flex:none;display:inline-flex;position:relative}.photo-strip-thumb{border-radius:8px;flex:none;width:4.5rem;height:4.5rem;overflow:hidden}.photo-thumb.photo-strip-thumb img{object-fit:cover;border-radius:8px;width:100%;height:100%;display:block}.photo-strip-more{color:#fff;pointer-events:none;background:#0000008c;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex;position:absolute;inset:0}.controls-bar{justify-content:flex-end;margin-bottom:.5rem;display:flex}.badges{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.badge{color:#fff;background:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;padding:.25rem .55rem;font-size:.78rem;font-weight:500;display:inline-flex}.badge.purple{background:var(--purple)}.badge.amber{background:var(--amber)}.badge.red{background:var(--red)}.badge.green{background:var(--green)}.badge.muted{background:var(--muted)}.badge.has{border:1px solid var(--line);color:var(--fg);background:0 0;font-weight:600}.badge.has:hover{border-color:var(--accent);color:var(--accent)}.chevron{color:var(--muted);padding:0 .5rem;font-size:1.5rem}.alert-banner.expired{background:var(--red);color:#fff;border-radius:8px;margin:1rem 0;padding:.75rem 1rem;font-weight:500}.alert-banner.update-available{background:var(--accent);color:var(--accent-fg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.5rem 1rem;font-weight:500;display:flex}.alert-banner.update-available .update-actions{flex-shrink:0;gap:.5rem;display:inline-flex}.alert-banner.update-available button{background:var(--surface);color:var(--fg);border:1px solid #0000;border-radius:6px;padding:.3rem .7rem}.alert-banner.update-available button.primary{background:var(--surface);color:var(--accent);font-weight:600}.alert-banner.preview{background:var(--amber);color:#fff;justify-content:space-between;align-items:center;margin:0;padding:.5rem 1rem;font-weight:500;display:flex}.alert-banner.preview button{background:var(--surface);color:var(--amber);cursor:pointer;border:none;border-radius:6px;padding:.3rem .7rem;font-weight:500}button.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.theme-toggle{border:1px solid var(--line);cursor:pointer;min-width:2.75rem;min-height:2.75rem;color:var(--fg);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.login-top{justify-content:flex-end;margin-bottom:.5rem;display:flex}.task-detail{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem}.detail-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.detail-header h2{overflow-wrap:anywhere;flex:auto;min-width:0;margin:0;font-size:1.25rem}.back-link{flex:none;font-size:.95rem}.task-detail h3{text-transform:uppercase;color:var(--muted);margin-top:1.25rem;font-size:.85rem}.instructions{white-space:pre-wrap}.photo-strip{gap:.5rem;padding:0;list-style:none;display:flex;overflow-x:auto}.photo-strip img{object-fit:cover;background:var(--line);border-radius:8px;width:6rem;height:6rem}.photo-thumb{cursor:zoom-in;background:0 0;border:none;padding:0;display:inline-block}.photo-thumb img{object-fit:cover;background:var(--line);border-radius:8px;width:5rem;height:5rem;transition:transform .15s,box-shadow .15s;display:block}.photo-thumb:hover img{box-shadow:0 2px 8px var(--shadow);transform:scale(1.02)}.photo-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.lightbox-overlay{z-index:200;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lightbox-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;width:100%;height:100%;display:flex;overflow:auto hidden}.lightbox-track::-webkit-scrollbar{display:none}.lightbox-slide{scroll-snap-align:center;flex:0 0 100%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lightbox-slide img{object-fit:contain;cursor:default;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%}.lightbox-close{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));color:#000;cursor:pointer;z-index:1;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;font-weight:600;line-height:1;display:flex;position:fixed}.lightbox-nav{color:#000;cursor:pointer;z-index:1;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.75rem;font-weight:600;line-height:1;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:max(1rem, env(safe-area-inset-left))}.lightbox-nav.next{right:max(1rem, env(safe-area-inset-right))}.lightbox-nav:disabled{opacity:.3;cursor:default}.lightbox-counter{color:#000;z-index:1;background:#ffffffe6;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.photo-editor-overlay{z-index:250;color:#fff;background:#0e0f12;flex-direction:column;display:flex;position:fixed;inset:0}.photo-editor-header{padding:.5rem 1rem;padding-top:max(.5rem, env(safe-area-inset-top));background:#0009;justify-content:space-between;align-items:center;display:flex}.photo-editor-header button{color:#fff;background:0 0;border:1px solid #ffffff59;border-radius:6px;padding:.4rem .9rem}.photo-editor-header button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.photo-editor-header button:disabled{opacity:.5;cursor:progress}.photo-editor-title{font-weight:500}.photo-editor-stage{padding:.5rem;padding-left:max(.5rem, env(safe-area-inset-left));padding-right:max(.5rem, env(safe-area-inset-right));flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-editor-stage canvas{object-fit:contain;touch-action:none;background:#000;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%}.photo-editor-tools{padding:.5rem .75rem;padding-bottom:max(.5rem, env(safe-area-inset-bottom));background:#000000b3;flex-direction:column;gap:.5rem;display:flex}.photo-editor-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;display:flex}.photo-editor-tools .tool,.photo-editor-tools button:not(.swatch):not(.width){color:#fff;background:#ffffff1f;border:1px solid #0000;border-radius:999px;min-width:4rem;padding:.4rem .9rem;font-size:.9rem}.photo-editor-tools .tool.active,.photo-editor-tools button.active{background:var(--accent);color:var(--accent-fg)}.photo-editor-tools button:disabled{opacity:.4;cursor:not-allowed}.photo-editor-tools .swatch{border:2px solid #ffffff4d;border-radius:50%;width:2rem;height:2rem;padding:0}.photo-editor-tools .swatch.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.photo-editor-tools .width{background:#ffffff1f;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-width:3rem;padding:.5rem .8rem;display:inline-flex}.photo-editor-tools .width.active{border-color:var(--accent)}.photo-editor-tools .width-preview{border-radius:999px;width:2rem;display:block}.feedback-list{padding:0;list-style:none}.feedback-list li{border-bottom:1px solid var(--line);padding:.5rem}.anchored{scroll-margin-top:4rem}.completion-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 1rem;padding:1rem}.completion-panel h3{text-transform:none;color:var(--fg);margin:0 0 .5rem;font-size:1rem}.completion-panel label{color:var(--muted);flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.completion-panel textarea{width:100%}.completion-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.completion-actions button{min-width:6rem}.photo-attached{align-items:center;gap:.5rem;display:flex}.photo-attached img{object-fit:cover;border-radius:8px;width:5rem;height:5rem}.sheet-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;gap:.75rem;width:100%;max-width:32rem;padding:1rem 1rem 2rem;display:flex}.sheet h2{margin:0}.sheet label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.sheet label select{width:100%}.sheet-meta{color:var(--muted);margin:0;font-size:.85rem}.sheet-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.sheet-actions button{min-width:6rem}.note-composer{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.note-composer textarea{width:100%}.note-composer button{align-self:flex-end}.notes-list{margin:0;padding:0;list-style:none}.note-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.75rem;padding:.75rem 1rem}.note-card.pinned{border-left:4px solid var(--amber)}.note-card-head{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.note-time{color:var(--muted);flex:1;font-size:.8rem}.note-pin,.note-delete{cursor:pointer;color:var(--fg);background:0 0;border:none;padding:.25rem;font-size:1rem}.note-delete{color:var(--muted);font-size:1.4rem;line-height:1}.note-delete:hover{color:var(--red)}.note-body{cursor:text;white-space:pre-wrap;word-break:break-word;margin:0;padding:.25rem}.note-body:hover{background:var(--bg);border-radius:6px}.note-card textarea{width:100%}.note-card-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.muted{color:var(--muted)}.field-hint{font-size:.75rem}.error{color:var(--red)}.bar-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.bar-actions h2{margin:0}.bar-actions .button,a.button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:.5rem 1rem;display:inline-block}.task-row.manager{grid-template-columns:minmax(0,1fr) auto auto}.task-row.manager .row-action{border-radius:999px;padding:.3rem .7rem;font-size:.8rem}.task-row.reorder{-webkit-user-select:none;user-select:none;touch-action:none;grid-template-columns:2.5rem 1fr auto}.task-row.reorder.dragging{opacity:.5}.task-row.drag-shadow{background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:.75rem;display:block}.reorder-list{margin:0;padding:0;list-style:none}.reorder-scope{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 .5rem;display:flex}.reorder-list .prio{background:var(--line);width:2rem;height:2rem;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.handle{cursor:grab;background:0 0;border:none;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;font-size:1.25rem;display:inline-flex}.handle:active{cursor:grabbing}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.status-pill{color:#fff;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.status-pill.green{background:var(--green)}.status-pill.amber{background:var(--amber)}.status-pill.red{background:var(--red)}.status-pill.gray{background:var(--muted)}.occ-actions{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem;padding:.6rem;display:flex}.occ-verbs{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.occ-verbs .occ-close{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:1rem}.occ-scope{color:var(--fg);flex-wrap:wrap;gap:1rem;font-size:.85rem;display:flex}.occ-scope label{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.occ-body{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.occ-or{color:var(--muted);font-size:.85rem}.occ-pause{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.occ-skip{gap:.6rem}.occ-scope-disabled{opacity:.45}.nth-weekday-picker{flex-direction:column;gap:.5rem;display:flex}.toast-host{z-index:1000;background:var(--fg);max-width:min(92vw,28rem);color:var(--bg);border-radius:10px;align-items:center;gap:.75rem;padding:.6rem .9rem;font-size:.9rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.toast-message{flex:1}.toast-undo{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:.2rem .6rem;font-weight:600}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none}.sheet-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sheet-close{cursor:pointer;color:var(--muted);background:0 0;border:none;min-width:2.75rem;min-height:2.75rem;padding:.25rem .5rem;font-size:1.4rem;line-height:1}.sheet-close:hover{color:var(--fg)}.add-to-shopping-group{flex-direction:column;gap:.4rem;display:flex}.add-to-shopping-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.add-to-shopping-instructions{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.add-to-shopping{background:var(--surface);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;margin:.25rem 0;padding:.5rem .8rem;font-weight:600;display:inline-flex}.add-to-shopping:disabled{opacity:.6}.shopping-items-editor{flex-direction:column;gap:.5rem;display:flex}.shopping-items-editor-row{align-items:center;gap:.4rem;display:flex}.shopping-items-editor-name{flex:35%;min-width:0}.shopping-items-editor-note{flex:2 55%;min-width:0}.shopping-items-editor-remove{border:1px solid var(--line);background:var(--surface);width:2rem;height:2rem;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;line-height:1}.shopping-items-editor-remove:disabled{opacity:.4;cursor:not-allowed}.shopping-list{flex-direction:column;gap:.75rem;display:flex}.shopping-add{gap:.5rem;display:flex}.shopping-add input{flex:1}.shopping-products{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem}.shopping-products[open]{padding-bottom:.7rem}.shopping-products-summary{cursor:pointer;list-style:revert;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.shopping-products-count{color:#fff;background:var(--accent);text-align:center;border-radius:999px;min-width:1.2rem;padding:0 .4rem;font-size:.75rem;font-weight:600}.shopping-products-hint{margin:.5rem 0 .4rem;font-size:.8rem}.shopping-products-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;display:flex}.shopping-product-chip{border:1px solid var(--accent);color:var(--accent);background:var(--bg);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.9rem}.shopping-product-chip:hover{background:var(--surface)}.shopping-list-header{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.shopping-items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.shopping-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .75rem;display:flex}.shopping-item.bought{opacity:.55}.shopping-item.bought .shopping-item-name{text-decoration:line-through}.shopping-item-body{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.shopping-item-name{overflow-wrap:anywhere}.shopping-item-meta{color:var(--muted);font-size:.8rem}.shopping-item-actions{flex:none;align-items:center;gap:.4rem;display:flex}.shopping-status{white-space:nowrap;flex:none}.shopping-status.status-requested{border-color:var(--amber)}.shopping-status.status-in_transit{border-color:var(--purple)}.shopping-status.status-bought{border-color:var(--green)}@media (width>=760px){.shopping-list{max-width:44rem}}.week-grid{grid-template-columns:repeat(7,minmax(8rem,1fr));gap:.5rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.week-col{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.35rem;min-height:8rem;padding:.4rem;display:flex}.week-col.over{outline:2px dashed var(--accent);outline-offset:-2px}.week-col-head{color:var(--muted);font-size:.8rem;font-weight:600}.week-col-head.today{color:var(--accent)}.week-col-date{font-weight:400}.week-card{background:var(--bg);border:1px solid var(--line);cursor:grab;border-radius:8px;padding:.4rem .5rem;font-size:.85rem}.week-card.done{opacity:.6}.week-card-children{color:var(--muted);margin:.2rem 0 0 .6rem;padding:0;font-size:.78rem;list-style:none}.week-empty{color:var(--muted);font-size:.8rem}.photo-tray-overlay{z-index:1100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.photo-tray{background:var(--bg);border-radius:12px;width:min(92vw,32rem);max-height:90vh;padding:1rem;overflow-y:auto}.photo-tray-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.photo-tray-count{font-weight:600}.photo-tray-grid{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.photo-tray-cell{position:relative}.photo-tray-thumb{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:8px;width:100%;padding:0;position:relative;overflow:hidden}.photo-tray-thumb img{object-fit:cover;width:100%;height:100%}.photo-tray-index{color:#fff;background:#0009;border-radius:4px;padding:0 .3rem;font-size:.7rem;position:absolute;bottom:.2rem;left:.2rem}.photo-tray-remove{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:50%;width:1.5rem;height:1.5rem;font-size:.8rem;line-height:1;position:absolute;top:-.4rem;right:-.4rem}.cadence-group{margin:.5rem 0 1rem}.cadence-group-head{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:.75rem 0 .4rem;font-size:.8rem}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.filter-clear{margin-top:.25rem}.task-edit{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem}.task-edit label{color:var(--muted);flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.task-edit input,.task-edit textarea,.task-edit select{width:100%}.field-block{color:var(--muted);flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.task-edit section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.task-edit .photo-strip li{flex-direction:column;align-items:center;gap:.25rem;display:flex}.sheet.wide{max-height:90vh;overflow-y:auto}.filter-row{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.filter-row input{max-width:12rem}.user-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}.user-table th,.user-table td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .8rem;font-size:.95rem}.user-table th{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;background:var(--bg);font-size:.8rem}.user-table tr:last-child td{border-bottom:none}.user-table tr.self td{background:var(--self-bg)}.user-table .actions{gap:.4rem;display:flex}.user-table select{width:auto}.feedback-feed{padding:0;list-style:none}.feedback-feed li{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.5rem;padding:.75rem 1rem}.feedback-feed header{justify-content:space-between;font-size:.85rem;display:flex}.feedback-feed time{color:var(--muted)}.feedback-feed img{border-radius:8px;max-width:8rem;max-height:8rem;margin-top:.5rem}.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.6rem .8rem;display:flex}.filter-row-block{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sort-inline{align-items:center;gap:.4rem;display:inline-flex}.sort-inline-label{color:var(--fg);font-size:.9rem;font-weight:500}.show-done-toggle{color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.9rem;display:inline-flex}.show-done-toggle input[type=checkbox]{cursor:pointer;width:1.1rem;height:1.1rem;accent-color:var(--accent)}.helper-section{margin-bottom:1.5rem}.helper-section-header{align-items:baseline;gap:.75rem;margin:1rem 0 .5rem;display:flex}.helper-section-count{font-size:.85rem;font-weight:400}.new-badge{letter-spacing:.02em;font-weight:600}.tag-badge{background:var(--surface);border:1px solid var(--accent);color:var(--accent);font-weight:500}.badge-strip{flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.task-row.manager .inline-error{background:var(--redo-bg);color:var(--red);overflow-wrap:anywhere;border-radius:999px;max-width:100%;padding:.25rem .6rem;font-size:.85rem}.badge-toggles{margin:.75rem 0}.badge-toggles>.muted{margin:0 0 .5rem;font-size:.85rem}.badge-toggle-row{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.badge-toggle{cursor:pointer;font:inherit;border:none}.badge-toggle:disabled{cursor:not-allowed;opacity:.6}.badge-toggle.is-active{outline:2px solid var(--accent);outline-offset:1px}.badge-toggle.is-inactive{color:var(--muted);border:1px dashed var(--line);opacity:.85;background:0 0}.badge-toggle.is-inactive:hover{opacity:1;color:var(--text);border-color:var(--accent)}.auth-error{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:28rem;margin:4rem auto;padding:1.5rem}.auth-error h2{margin:0 0 .5rem}.auth-error button{margin-top:.75rem}.field-block{margin-bottom:.6rem;display:block}.field-label{color:var(--fg);margin-bottom:.35rem;font-weight:500;display:block}.tag-editor{display:block}.tag-list{flex-wrap:wrap;gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.tag-chip{background:var(--surface);border:1px solid var(--accent);color:var(--accent);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.85rem;font-weight:500;display:inline-flex}.tag-chip-remove{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:1.05rem;font-weight:600;line-height:1}.tag-chip-remove:hover{color:var(--red)}.tag-add{align-items:stretch;gap:.4rem;display:flex}.tag-add input{flex:1;min-width:0}.tag-add-button{flex:none}.parent-combobox{position:relative}.parent-combobox>input{width:100%}.parent-combobox-list{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 12px var(--shadow);border-radius:8px;max-height:16rem;margin:.15rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.parent-combobox-list li{color:var(--fg);cursor:pointer;white-space:pre;border-radius:6px;padding:.4rem .6rem;font-size:.95rem}.parent-combobox-list li.active,.parent-combobox-list li:hover{background:var(--bg);color:var(--accent)}.parent-combobox-list li.parent-combobox-more,.parent-combobox-list li.parent-combobox-more:hover{cursor:default;color:var(--muted);background:0 0;font-size:.8rem;font-style:italic}.parent-combobox-empty{margin:.4rem 0 0;font-size:.85rem}.parent-combobox-selected{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:.4rem;padding:.4rem;display:flex}.parent-combobox-chip{background:var(--bg);border:1px solid var(--accent);color:var(--accent);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.9rem;display:inline-flex}.parent-combobox-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 .3rem;font-size:1.1rem;line-height:1}.parent-combobox-clear:hover{color:var(--red)}.manager-subtask-list{border-left:2px solid var(--line);margin:.5rem 0 0 1.5rem;padding:0;list-style:none}.manager-subtask-row{margin:0;padding:0}.manager-subtask-link{color:var(--fg);border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.manager-subtask-link:last-child{border-bottom:none}.manager-subtask-link:hover{background:var(--bg)}.manager-subtask-title{flex:1}.parent-picker{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.parent-picker select{width:100%;max-width:32rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.filter-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-label{color:var(--fg);min-width:5rem;font-size:.85rem;font-weight:600}.filter-pills{flex-wrap:wrap;gap:.3rem;display:flex}.pill{background:var(--surface);border:1.5px solid var(--line);color:var(--fg);cursor:pointer;border-radius:999px;align-items:center;min-height:2rem;padding:.4rem .9rem;font-size:.9rem;font-weight:500;display:inline-flex}.pill:hover{border-color:var(--accent);color:var(--accent)}.pill.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.pill.active:hover{color:var(--accent-fg)}.task-summary{margin:.25rem 0 .75rem;font-size:.85rem}.checkbox.placeholder{width:1.5rem;height:1.5rem;display:inline-block}.references-section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.reference-list{margin:0;padding:0;list-style:none}.reference-list>li{border-bottom:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.5rem 0;display:grid}.reference-list>li:last-child{border-bottom:none}.ref-order{flex-direction:column;align-items:center;gap:.25rem;display:flex}.ref-order .ref-index{color:var(--muted);font-size:.85rem;font-weight:600}.ref-order button{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:.1rem .4rem;font-size:.8rem}.ref-order button:disabled{opacity:.4;cursor:not-allowed}.ref-body{flex-direction:column;gap:.5rem;display:flex}.ref-body img{object-fit:cover;border-radius:8px;max-width:8rem;max-height:8rem}input.ref-caption{border:1px solid var(--line);border-radius:6px;width:100%;padding:.4rem .6rem;font-size:max(1rem,16px)}.reference-add{border-top:1px dashed var(--line);flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.reference-add input{width:100%}.reference-caption-add{flex-direction:column;gap:.5rem;display:flex}.reference-caption-actions{gap:.5rem;display:flex}.task-detail .reference-list>li{border-bottom:none;align-items:flex-start;gap:.5rem;padding:.25rem 0;display:flex}.task-detail .reference-list .ref-index{color:var(--muted)}.task-detail .reference-list .ref-caption{background:0 0;border:none;margin:0;padding:0;font-size:.95rem}.subtasks-section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.subtask-list{margin:0;padding:0;list-style:none}.subtask-list>li{border-bottom:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.4rem 0;display:grid}.subtask-list>li:last-child{border-bottom:none}.subtask-title-input{border:1px solid var(--line);border-radius:6px;width:100%;padding:.4rem .6rem;font-size:max(1rem,16px)}.subtask-add{border-top:1px dashed var(--line);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.subtask-add input{flex:1}.subtask-checklist{margin:0 0 1rem;padding:0;list-style:none}.subtask-checklist li{border-bottom:1px solid var(--line);padding:.4rem 0}.subtask-checklist li:last-child{border-bottom:none}.subtask-checklist label{cursor:pointer;align-items:center;gap:.75rem;display:inline-flex}.subtask-checklist input[type=checkbox]{margin:0;transform:scale(1.4)}.subtask-checklist .subtask-title{font-size:1rem}.subtask-checklist li.done .subtask-title{color:var(--muted);text-decoration:line-through}.subtask-checklist li{grid-template-columns:auto 1fr;align-items:center;gap:.5rem;display:grid}.subtask-link{color:var(--fg);flex:1;align-items:center;gap:.5rem;display:flex}.subtask-link .badge{padding:.15rem .45rem;font-size:.7rem}.subtask-row{flex-direction:column;flex:1;gap:.25rem;display:flex}.subtask-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.badge.accent-link{background:var(--accent);color:var(--accent-fg)}.bar-actions-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.sort-select{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.sort-select select{width:auto}.task-count{margin-left:.4rem;font-size:.85rem;font-weight:400}.task-card-list{margin:0;padding:0;list-style:none}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.5rem;overflow:hidden}.task-card-link{color:var(--fg);padding:.75rem 1rem;display:block}.task-card-link:hover{background:var(--bg)}.task-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.task-card-title{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1rem;font-weight:500}.task-card-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:.25rem 0 .5rem;font-size:.85rem;display:flex}.dot-sep{color:var(--line)}.reorder-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.reorder-header h2{margin:0}.reorder-controls{flex-wrap:wrap;gap:.75rem;display:flex}.reorder-controls label{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.reorder-controls input,.reorder-controls select{width:auto}.reorder-help{margin-bottom:1rem;font-size:.85rem}.reorder-bucket{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:1rem;padding:.75rem 1rem}.reorder-bucket>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.reorder-bucket>header h3{margin:0;font-size:1rem}.bucket-count{margin-left:.4rem;font-size:.85rem;font-weight:400}.bucket-actions{flex-wrap:wrap;gap:.4rem;display:flex}.bucket-actions button{padding:.4rem .75rem;font-size:.85rem}.day-controls{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem;display:flex}.day-controls input[type=date]{width:auto}.day-controls .pill{padding:.35rem .75rem}.day-date{margin-left:.4rem;font-size:.85rem;font-weight:400}.unassigned-panel{border-top:1px dashed var(--line);margin-top:2rem;padding-top:1rem}.unassigned-panel header h3{margin:0}.unassigned-panel header p{margin:.25rem 0 .75rem;font-size:.85rem}.task-row.manager.unassigned{border-color:var(--amber)}.task-row.manager.unassigned button{padding:.35rem .75rem;font-size:.85rem}.adhoc-schedule{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:1rem;padding:.75rem 1rem}.adhoc-schedule h3{text-transform:none;margin:0 0 .5rem;font-size:1rem}.alert-banner.unassigned{background:var(--amber);color:#fff;border-radius:8px;margin:0 0 .5rem;padding:.75rem 1rem;font-weight:500}.adhoc-schedule-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-date{color:var(--muted);align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.inline-date input[type=date]{width:auto}.unassigned-backlog{border:1px solid var(--amber);background:var(--surface);border-radius:12px;margin-bottom:1.5rem;padding:.5rem 1rem 1rem}.unassigned-backlog header h3{margin:.5rem 0 0}.unassigned-backlog header p{margin:.25rem 0 .75rem;font-size:.85rem}.task-card.unassigned{border-color:var(--amber)}.unassigned-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.unassigned-actions button{padding:.35rem .75rem;font-size:.85rem}.unassigned-actions .inline-date{align-items:center;gap:.4rem;display:inline-flex}.section-header{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:1.5rem 0 .5rem;font-size:.85rem}.section-header.done-header{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.task-group h3{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:0 0 .5rem;font-size:.85rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.photo-input-button{border:1px solid var(--accent);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:auto;padding:.6rem 1rem;font-weight:500;display:inline-flex}.photo-input-button:hover{background:var(--accent);color:var(--accent-fg)}.photo-input-button.disabled{opacity:.5;cursor:not-allowed}.photo-input-button:has(input:disabled){opacity:.5;cursor:not-allowed}.photo-field{flex-direction:column;gap:.4rem;display:flex}.photo-field .label{color:var(--muted);font-size:.85rem}.attributes{border:1px solid var(--line);border-radius:8px;margin:0 0 .75rem;padding:.5rem .75rem}.attributes legend{color:var(--muted);padding:0 .5rem;font-size:.85rem}.attributes p.muted{margin:.25rem 0 .5rem;font-size:.8rem}.attributes label{color:var(--muted);flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.photo-fieldset{border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem}.photo-fieldset legend{color:var(--muted);padding:0 .5rem;font-size:.85rem}.photo-fieldset .photo-strip{margin:.25rem 0}.photo-pending{position:relative}.photo-pending img{object-fit:cover;border-radius:8px;width:5rem;height:5rem}.photo-pending button{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:50%;width:1.4rem;height:1.4rem;padding:0;font-size:1rem;line-height:1;position:absolute;top:-.25rem;right:-.25rem}.photo-pending .badge{background:#000000a6;position:absolute;bottom:.25rem;left:.25rem}.photo-pending .badge.red{background:var(--red)}.reference-draft-list{margin:0 0 .5rem;padding:0;list-style:none}.reference-draft{border-bottom:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.4rem 0;display:grid}.reference-draft:last-child{border-bottom:none}.reference-draft img{object-fit:cover;background:var(--line);border-radius:6px;width:4rem;height:4rem}.reference-draft-placeholder{background:var(--line);width:4rem;height:4rem;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:flex}.reference-draft-meta{flex-direction:column;gap:.25rem;display:flex}.reference-draft.error input{border-color:var(--red)}.reference-draft-empty{padding:.25rem 0;font-size:.85rem}.reference-draft-actions{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.recent-completions{gap:.5rem;padding:0;list-style:none;display:grid}.recent-completions li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.75rem 1rem}.recent-completions header{justify-content:space-between;gap:.5rem;display:flex}.recent-completions header a{color:var(--fg);font-weight:500}.recent-completions time{color:var(--muted);font-size:.85rem}.recent-completions .meta{color:var(--muted);margin-top:.25rem;font-size:.85rem}.recent-completions .note{color:var(--fg);margin:.25rem 0 0}.recent-completions img{border-radius:8px;max-width:8rem;max-height:8rem;margin-top:.5rem}.recent-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.recent-feedback-form{border-top:1px dashed var(--line);flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.recent-feedback-form textarea{width:100%}@media (width>=768px){.recent-completions{grid-template-columns:repeat(2,1fr)}}.history-list{margin:0;padding:0;list-style:none}.history-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem 1rem;display:grid}.dot-strip{gap:.25rem;display:flex}.dot{background:var(--line);width:1.75rem;height:1.75rem;color:var(--muted);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;display:inline-flex}.dot.done{background:var(--green);color:#fff}.dot.missed{background:var(--red);color:#fff}.dot.scheduled{border:1.5px dashed var(--accent);color:var(--accent);background:0 0}.dot.today{outline:2px solid var(--accent);outline-offset:2px}.dot-day{line-height:1}.history-legend{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.history-legend .dot{width:1.1rem;height:1.1rem;font-size:.55rem}.history-row.depth-1{margin-left:1.25rem}.history-row.depth-2{margin-left:2.5rem}.history-row.depth-3{margin-left:3.75rem}.dot-glyph{font-size:.7rem;line-height:1}.subsection{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:1rem 0 .5rem;font-size:.85rem}.expectation-notes{margin:0 0 .75rem;padding:0;list-style:none}.expectation-notes li{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;padding:.5rem .75rem;display:flex}.expectation-notes li p{white-space:pre-wrap;flex:1;margin:0}.expectation-note-form{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.expectation-note-form button{align-self:flex-start}@media (width>=768px){.app-body{max-width:56rem;padding:2rem}.task-row{gap:1rem;padding:1rem}.task-row .checkbox input{transform:scale(1.6)}.tabs a{padding:.6rem 1.1rem;font-size:1rem}.sheet{border-radius:16px;max-width:36rem}.sheet-overlay{align-items:center}}@media (width>=1100px){.manager-app .app-body{max-width:64rem}.task-row.manager{padding:.6rem 1rem}}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}*{scroll-behavior:auto!important}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.helper-notes-banner{background:var(--surface);border:1px solid var(--accent);border-left-width:4px;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.helper-notes-banner h3{letter-spacing:.02em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;font-size:.85rem;font-weight:600}.helper-notes-banner ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.helper-notes-banner li{align-items:flex-start;gap:.5rem;display:flex}.helper-notes-banner li.pinned>span:last-child{font-weight:500}[data-theme=dark] .badge:not(.has):not(.tag-badge),[data-theme=dark] .status-pill,[data-theme=dark] .alert-banner.preview,[data-theme=dark] .alert-banner.expired{color:#0e0f12}[data-theme=dark] .status-pill{border:1px solid #00000047}[data-theme=dark] .status-pill.green{background:#5ed47b}[data-theme=dark] .status-pill.amber{background:#f0a93f}[data-theme=dark] .status-pill.red{background:#ff7d8d}[data-theme=dark] .status-pill.gray{background:#bcc2cd}.photo-editor-label-input{background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px var(--shadow);border-radius:10px;align-items:center;gap:.4rem;max-width:calc(100% - 2rem);padding:.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.photo-editor-label-input input{width:12rem;max-width:50vw}.skip-link{background:var(--accent);color:var(--accent-fg);z-index:100;border-radius:0 0 8px;padding:.5rem .9rem;transition:transform .15s;position:absolute;top:0;left:0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.inventory-breadcrumb{flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.inventory-breadcrumb a{color:var(--accent)}.inventory-breadcrumb .crumb-sep{color:var(--muted);margin:0 .15rem}.inventory-breadcrumb .crumb-current{color:var(--fg);font-weight:600}.inventory-cat{font-size:.9rem;font-weight:400}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.inventory-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:stretch;display:flex;overflow:hidden}.inventory-card-main{cursor:pointer;text-align:left;min-width:0;color:var(--fg);background:0 0;border:none;flex:auto;align-items:center;gap:.6rem;padding:.75rem;display:flex}.inventory-card-main:hover{background:var(--bg)}.inventory-card-icon{flex:none;font-size:1.4rem}.inventory-card-body{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.inventory-card-title{overflow-wrap:anywhere;font-weight:500}.inventory-qty{color:var(--muted);font-weight:400}.inventory-card-cat{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.inventory-card-count{color:var(--muted);flex:none;align-items:center;gap:.25rem;font-size:.8rem;display:inline-flex}.inventory-card-archive{border:none;border-left:1px solid var(--line);cursor:pointer;min-width:44px;min-height:44px;color:var(--muted);background:0 0;flex:none;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.inventory-card-archive:hover{background:var(--redo-bg);color:var(--fg)}.inventory-card-archive:disabled{opacity:.5;cursor:progress}.inventory-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.9rem;display:flex}.inventory-form label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.inventory-form input,.inventory-form select{width:100%}.inventory-form-actions{gap:.5rem;display:flex}.inventory-photo-section{flex-direction:column;align-items:flex-start;gap:.4rem;margin:.5rem 0 1rem;display:flex}.inventory-pin-hint{margin:0}.photo-map{border:1px solid var(--line);touch-action:pan-y;border-radius:12px;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.photo-map.drawing{cursor:crosshair;touch-action:none}.photo-map-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;height:auto;max-height:60vh;display:block}.photo-map-region{box-sizing:border-box;border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);cursor:pointer;border-radius:4px;justify-content:flex-start;align-items:flex-end;margin:0;padding:0;display:flex;position:absolute;overflow:hidden}.photo-map-region:hover{background:color-mix(in srgb, var(--accent) 32%, transparent)}.photo-map-region:disabled{cursor:default}.photo-map-region-label{color:#fff;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#0009;border-radius:3px;max-width:calc(100% - 4px);margin:2px;padding:.1rem .25rem;font-size:.7rem;line-height:1.1;overflow:hidden}.photo-map-draft{box-sizing:border-box;border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;border-radius:4px;position:absolute}.inventory-card-pin{border:none;border-left:1px solid var(--line);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:.95rem;display:inline-flex}.inventory-card-pin:disabled,.inventory-card-archive:disabled{opacity:.5;cursor:progress}.inventory-card-pin.unpinned{color:var(--muted)}.inventory-card-pin:hover{background:var(--bg)}.inventory-ai .inventory-suggestions{flex-direction:column;gap:.3rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.inventory-ai .inventory-suggestions li{font-size:.9rem}.inventory-suggestion-reason{font-size:.85rem}.inventory-move-banner{background:var(--redo-bg);border:1px solid var(--amber);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.inventory-move-actions{gap:.4rem;display:flex}.inventory-history-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.inventory-history-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:6rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.5rem .7rem;display:grid}.inventory-history-action{text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.inventory-history-action.action-34{color:var(--amber)}.inventory-history-name{overflow-wrap:anywhere}.inventory-history-when{white-space:nowrap;font-size:.8rem}.inventory-search{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.inventory-search input{flex:auto;min-width:0}.inventory-search-results{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.inventory-search-result{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;width:100%;color:var(--fg);border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .75rem;display:flex}.inventory-search-result:hover{background:var(--bg)}.inventory-search-icon{flex:none;font-size:1.2rem}.inventory-search-body{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.inventory-search-name{overflow-wrap:anywhere;font-weight:500}.inventory-search-path{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.icon-legend{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:.3rem .9rem;margin:0 0 .6rem;padding:.4rem .6rem;font-size:.8rem;list-style:none;display:flex}.icon-legend li{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.icon-legend-icon{font-size:.95rem}.inventory-fable-note{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--purple);color:var(--fg);border-radius:8px;margin:0 0 .75rem;padding:.6rem .8rem;font-size:.95rem}.inventory-analysis{flex-direction:column;align-items:flex-start;gap:.5rem;margin:0 0 1rem;display:flex}.inventory-analysis-pending{background:var(--self-bg);border:1px solid var(--line);border-radius:8px;margin:0;padding:.4rem .7rem;font-size:.85rem}.inventory-analysis-pending code{font-size:.8rem}.inventory-proposals{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;padding:.75rem .9rem}.inventory-proposals h3{margin:0 0 .5rem;font-size:1rem}.inventory-proposals ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.inventory-proposal{border-top:1px solid var(--line);align-items:center;gap:.6rem;padding:.4rem 0;display:flex}.inventory-proposal:first-child{border-top:none}.inventory-proposal-body{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.inventory-proposal-name{overflow-wrap:anywhere;font-weight:500}.inventory-proposal-body .muted{font-size:.8rem}.inventory-proposal-actions{flex:none;gap:.4rem;display:flex}.house-atlas{flex-direction:column;gap:.75rem;display:flex}.atlas-lens-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.atlas-stats{flex-wrap:wrap;gap:.5rem;display:flex}.atlas-stat{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.25rem .75rem;font-size:.85rem}.atlas-stat strong{color:var(--fg)}.atlas-stat.attention{border-color:var(--amber)}.atlas-layout{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);align-items:start;gap:1rem;display:grid}@media (width<=760px){.atlas-layout{grid-template-columns:1fr}}.atlas-stage{border-radius:12px;min-width:0;overflow:hidden}.atlas-roots{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.atlas-root-tile{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--fg);border-radius:12px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.atlas-root-tile:hover{box-shadow:var(--shadow)}.atlas-root-tile img{object-fit:cover;width:100%;height:9rem;display:block}.atlas-root-placeholder{background:var(--bg);justify-content:center;align-items:center;width:100%;height:9rem;font-size:3rem;display:flex}.atlas-root-label{flex-direction:column;gap:.1rem;padding:.5rem .75rem;display:flex}.atlas-root-label .muted{font-size:.8rem}.atlas-photo-wrap{border:1px solid var(--line);border-radius:12px;max-width:100%;line-height:0;transition:transform .4s;display:inline-block;position:relative;overflow:hidden}.atlas-photo-wrap.zooming{z-index:1}.atlas-photo{max-width:100%;height:auto;max-height:70vh;display:block}.atlas-region{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);cursor:zoom-in;border-radius:6px;min-width:0;min-height:0;padding:0;transition:background .15s,border-color .15s;position:absolute}.atlas-region:hover{background:color-mix(in srgb, var(--accent) 28%, transparent)}.atlas-region-label{max-width:100%;color:var(--accent-fg);background:var(--accent);text-overflow:ellipsis;white-space:nowrap;border-radius:0 4px;padding:.1rem .35rem;font-size:.7rem;line-height:1.2;position:absolute;bottom:0;left:0;overflow:hidden}.atlas-region.coverage-modeled{border-color:var(--green);background:color-mix(in srgb, var(--green) 18%, transparent)}.atlas-region.coverage-modeled .atlas-region-label{background:var(--green)}.atlas-region.coverage-unanalyzed{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 18%, transparent)}.atlas-region.coverage-unanalyzed .atlas-region-label{background:var(--amber)}.atlas-region.coverage-unmapped{border-color:var(--red);background:color-mix(in srgb, var(--red) 18%, transparent)}.atlas-region.coverage-unmapped .atlas-region-label{background:var(--red)}.atlas-zoom-preview{object-fit:cover;opacity:0;border-radius:4px;animation:.4s forwards atlas-fade-in;position:absolute}@keyframes atlas-fade-in{to{opacity:1}}.atlas-no-photo{background:var(--surface);border:1px dashed var(--line);border-radius:12px;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.25rem;display:flex}.atlas-rail{flex-direction:column;gap:.9rem;min-width:0;display:flex}.atlas-note{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--purple);border-radius:8px;padding:.6rem .8rem}.atlas-note h3{margin:0 0 .3rem;font-size:.9rem}.atlas-note p,.atlas-review-hint{margin:0;font-size:.9rem}.atlas-unpinned h3{color:var(--muted);margin:0 0 .3rem;font-size:.9rem}.atlas-unpinned ul{flex-wrap:wrap;gap:.35rem .75rem;margin:0;padding:0;list-style:none;display:flex}.atlas-unpinned li{align-items:center;gap:.3rem;display:inline-flex}.atlas-missions{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem}.atlas-missions h3{margin:0 0 .5rem;font-size:1rem}.atlas-missions ol{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.atlas-mission{border-top:1px solid var(--line);align-items:flex-start;gap:.5rem;padding-top:.5rem;display:flex}.atlas-mission:first-child{border-top:none;padding-top:0}.atlas-mission-icon{flex:none;font-size:1.1rem}.atlas-mission-body{flex-direction:column;flex:auto;gap:.1rem;min-width:0;font-size:.85rem;display:flex}.atlas-mission-name{overflow-wrap:anywhere;font-weight:500}.atlas-legend{align-items:center;gap:1rem;margin:0;font-size:.8rem;display:flex}.coverage-dot{border-radius:50%;width:.6rem;height:.6rem;margin-right:.25rem;display:inline-block}.coverage-dot.coverage-modeled{background:var(--green)}.coverage-dot.coverage-unanalyzed{background:var(--amber)}.coverage-dot.coverage-unmapped{background:var(--red)}.atlas-root-tile.coverage-unmapped{border-style:dashed}.atlas-region-pulse{animation:1s 3 atlas-pulse}@keyframes atlas-pulse{50%{box-shadow:0 0 0 6px #ffc80099}}.domain-tabs{flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem;display:flex}.schedule-page .bar-actions{margin-bottom:.25rem}.schedule-week{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));align-items:start;gap:.75rem;display:grid}.schedule-day{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem .9rem;display:flex}.schedule-day h3{margin:0;font-size:.95rem}.schedule-day ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.schedule-empty{margin:0;font-size:.85rem}.schedule-shift{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;display:flex}.schedule-shift-body{flex-direction:column;flex:auto;gap:.1rem;min-width:0;font-size:.85rem;display:flex}.schedule-shift-domain{font-weight:600}.schedule-shift-who,.schedule-shift-note{overflow-wrap:anywhere;font-size:.8rem}.schedule-shift-actions{flex:none;gap:.3rem;display:flex}.schedule-form{margin-top:.25rem}.occ-backdrop{z-index:40;background:#00000073;position:fixed;inset:0}.occ-actions{z-index:41;border-radius:14px;width:min(30rem,100vw - 2rem);max-height:70vh;margin-top:0;position:fixed;top:18vh;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 12px 40px #00000059}@media (width<=640px){.occ-actions{width:auto;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:80vh;inset:auto 0 0;transform:none;box-shadow:0 -6px 24px #0000004d}.occ-actions .occ-body button,.occ-actions .occ-verbs .pill{min-height:44px;padding:.5rem 1rem}.occ-actions .occ-body input[type=date]{flex:auto;min-height:44px}.occ-scope{gap:.5rem 1.25rem}.occ-scope label{min-height:36px}.occ-verbs .occ-close{min-width:44px;min-height:44px;font-size:1.2rem}}.moved-from-chip{align-items:center;gap:.4rem;display:inline-flex}.moved-from-chip .link-button{font-size:.8rem}.override-list{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.override-list h4{color:var(--muted);margin:0;font-size:.85rem}.override-list ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.override-list li{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.override-list .primary{align-self:flex-start}.card-feedback{flex-direction:column;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.card-feedback li{color:var(--fg);font-size:.9rem}.sub-tabs{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:.75rem;display:flex}.sub-tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.45rem .9rem;text-decoration:none}.sub-tabs a.active{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--line);color:var(--fg);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.3rem .75rem}.user-menu-list{z-index:30;background:var(--surface);border:1px solid var(--line);min-width:12rem;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.1rem;padding:.3rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.user-menu-list button,.user-menu-list a{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem .7rem;font-size:.9rem;text-decoration:none;display:block}.user-menu-list button:hover,.user-menu-list a:hover{background:var(--bg)}.cmdk-overlay{z-index:120;background:#00000080;position:fixed;inset:0}.cmdk-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.5rem;width:min(34rem,100vw - 2rem);padding:.75rem;display:flex;position:fixed;top:15vh;left:50%;transform:translate(-50%)}.cmdk-panel input{width:100%}.cmdk-list{max-height:50vh;overflow:auto}.cmdk-group-title{text-transform:uppercase;color:var(--muted,#888);margin:.5rem 0 .2rem;font-size:.75rem}.cmdk-hit{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:baseline;gap:.5rem;padding:.45rem .5rem;display:flex}.cmdk-hit:hover,.cmdk-hit:focus{background:var(--bg)}.cmdk-hit-detail{font-size:.8rem}.cmdk-empty{padding:.5rem}.shopping-add{flex-wrap:wrap}.shopping-add input{flex:12rem;min-width:0}.store-filter{flex-wrap:wrap;gap:.4rem;display:flex}.store-chip{border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.store-chip.active{border-color:var(--accent);color:var(--accent);font-weight:600}.shopping-item{flex-wrap:wrap}.shopping-store-chip{white-space:nowrap;flex:none}.shopping-item-source{color:var(--muted);font-size:.8rem}a.shopping-item-source{text-decoration:underline}.shopping-store-edit{flex-basis:100%;gap:.4rem;display:flex}.shopping-store-edit input{flex:1;min-width:0}.shopping-substore-heading{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:.5rem 0 0;font-size:.75rem;font-weight:600}.shopping-storeless{opacity:.7}.shopping-usual{flex-direction:column;gap:.3rem;display:flex}.shopping-usual-header{align-items:baseline;gap:.75rem;display:flex}.shopping-usual-header .link-button{font-size:.8rem}.shopping-usual-group{flex-direction:column;gap:.25rem;display:flex}.shopping-usual-task{color:var(--muted);margin:.25rem 0 0;font-size:.8rem;font-weight:600}.followup-toggle{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.followup-toggle input[type=checkbox]{margin:0}.followup-fields{border-left:2px solid var(--line);flex-direction:column;gap:.25rem;margin:.25rem 0 0 1.6rem;padding-left:.75rem;display:flex}
