:root{--text:#6b6375;--text-h:#08060d;--bg:#f6f7f8;--surface:#fff;--table-header:#f9fafb;--border:#e5e4e7;--image-border:#aaa6b0;--accent:#08785e;--accent-bg:#08785e1a;--accent-border:#08785e80;--row-hover:#08785e0b;--success-text:#116149;--success-bg:#e1f5ec;--error-text:#9f2d24;--error-bg:#fce9e7;--error-overlay:#9f2d24eb;--error-overlay-strong:#9f2d24f5;--warning-text:#795500;--warning-bg:#fff1c2;--status-new-text:#1d4e89;--status-new-border:#afcaec;--status-new-bg:#e5f0ff;--progress-text:#6546a3;--progress-border:#cbbbea;--progress-bg:#eee7fb;--warning-border:#e4c85e;--success-border:#9acdb9;--error-border:#e3aaa5;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}:root[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--surface:#1c1d24;--table-header:#202129;--border:#2e303a;--image-border:#5d606b;--accent:#55c9a5;--accent-bg:#55c9a526;--accent-border:#55c9a580;--row-hover:#55c9a50e;--success-text:#9be3c7;--success-bg:#55c9a529;--error-text:#fda29b;--error-bg:#f9706629;--warning-text:#f7d57a;--warning-bg:#f5be3529;--status-new-text:#9ec5fe;--status-new-border:#9ec5fe66;--status-new-bg:#4e8bd62e;--progress-text:#d2bcff;--progress-border:#d2bcff66;--progress-bg:#9d6ee733;--warning-border:#f7d57a66;--success-border:#9be3c766;--error-border:#fda29b66}#root{min-height:100svh}body{margin:0}@media (width<=640px){html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:0;margin:0 0 8px;font-size:40px}@media (width<=1024px){h1{font-size:32px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{box-sizing:border-box;min-height:100svh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.site-header{z-index:15;border-bottom:1px solid var(--border);box-sizing:border-box;background:var(--surface);align-items:center;min-height:56px;padding:0 20px;display:flex;position:sticky;top:0}.site-header-start{align-items:center;gap:12px;display:flex}.header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.preference-controls{align-items:center;gap:4px;display:flex}.notification-control,.notification-button{position:relative}.notification-badge{border:2px solid var(--surface);box-sizing:border-box;color:#fff;background:#c8323e;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;top:3px;right:1px}.notification-panel{z-index:700;border:1px solid var(--border);background:var(--surface);border-radius:7px;flex-direction:column;width:min(390px,100vw - 24px);max-height:min(620px,100svh - 76px);display:flex;position:absolute;top:calc(100% + 7px);right:0;overflow:hidden;box-shadow:0 16px 40px #0003}.notification-panel-header{border-bottom:1px solid var(--border);padding:16px 18px 12px}.notification-panel-header h2{color:var(--text-h);margin:0;font-size:17px}.notification-list{overflow-y:auto}.notification-item{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:13px 18px;display:grid}.notification-issue-icon{width:48px;height:48px;color:var(--accent);background:var(--accent-bg);border-radius:50%;place-items:center;display:grid}.notification-item.is-unread{background:var(--accent-bg)}.notification-item:hover{background:var(--row-hover)}.notification-item.is-unread:hover{background:color-mix(in srgb, var(--accent-bg) 90%, var(--accent))}.notification-item:focus-visible,.notification-load-more:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notification-copy{overflow-wrap:anywhere;gap:4px;display:grid}.notification-copy strong{color:var(--text-h);font-size:14px}.notification-copy span{font-size:13px;line-height:1.4}.notification-copy time{color:var(--text);font-size:11px}.notification-state{min-height:96px;color:var(--text);text-align:center;justify-content:center;align-items:center;gap:8px;margin:0;padding:18px;display:flex}.notification-state.is-error{color:var(--danger)}.notification-load-more{border:0;border-top:1px solid var(--border);min-height:42px;color:var(--accent);background:var(--surface);cursor:pointer;font-weight:700}.notification-load-more:disabled{cursor:wait;opacity:.65}.menu-button{width:44px;height:44px;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:color .16s,background-color .16s;display:inline-grid}.menu-button:hover{background:var(--accent-bg)}.menu-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.language-toggle,.theme-toggle{border-radius:5px}.brand{color:var(--text-h);align-self:stretch;align-items:center;gap:8px;font-size:18px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand-mark{width:32px;height:32px;color:var(--accent);background:var(--accent-bg);border-radius:6px;flex:0 0 32px;place-items:center;display:inline-grid}.primary-navigation{z-index:10;min-height:64px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.navigation-link{min-width:0;min-height:64px;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:none;transition:color .16s,background-color .16s;display:flex}.navigation-link.active{color:var(--accent)}.navigation-link:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.drawer-layer{z-index:20;position:fixed;inset:0}.drawer-backdrop{cursor:default;background:#08060d75;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.navigation-drawer{width:min(82vw,320px);height:100%;padding:env(safe-area-inset-top) 16px 24px;box-sizing:border-box;background:var(--surface);flex-direction:column;animation:.18s ease-out drawer-in;display:flex;position:relative;box-shadow:12px 0 30px #0000002e}.drawer-header{min-height:65px;color:var(--text-h);justify-content:space-between;align-items:center;padding-left:12px;display:flex;position:relative}.drawer-header:after{content:"";background:var(--border);height:1px;position:absolute;bottom:0;left:-16px;right:-16px}.drawer-brand{gap:10px;font-size:20px}.drawer-brand .brand-mark{flex-basis:36px;width:36px;height:36px}.drawer-navigation{gap:4px;margin-top:24px;display:grid}.drawer-link{min-height:48px;color:var(--text-h);border-radius:6px;align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;transition:color .16s,background-color .16s;display:flex}.drawer-link:hover,.drawer-link.active{color:var(--accent);background:var(--accent-bg)}.drawer-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes drawer-in{0%{transform:translate(-100%)}}.desktop-sidebar{display:none}.sidebar-label{color:var(--text);text-transform:uppercase;margin:0 12px 12px;font-size:12px;font-weight:700}.sidebar-navigation{gap:4px;display:grid}.sidebar-footer{color:var(--text);margin-top:auto;padding:0}.sidebar-account{border-top:1px solid var(--border);font:15px/1.45 var(--sans);letter-spacing:0;grid-template-columns:38px minmax(0,1fr) 40px;align-items:center;gap:10px;padding-top:16px;display:grid}.account-avatar{color:#163633;background:#b7d5cf;border-radius:50%;place-items:center;width:38px;height:38px;font-size:16px;font-weight:700;text-decoration:none;display:grid;position:relative;overflow:hidden}.account-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.account-copy{min-width:0}.sidebar-account-link{color:inherit;text-decoration:none}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-copy strong{color:var(--text-h);font-size:13px}.account-copy small{margin-top:3px;font-size:11px}.account-signout{width:40px;height:40px;color:var(--text);border:1px solid #0000}.account-signout:hover{color:var(--text-h);border-color:var(--border);background:var(--table-header)}.app-shell{width:min(960px,100% - 24px);margin:0 auto;padding:32px 0}.page-header{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-title{color:var(--accent);align-items:center;gap:10px;margin-bottom:8px;display:flex}.page-title svg{stroke-width:1.8px;flex:0 0 32px;width:32px;height:32px}.page-title h1{margin:0}.subtitle{color:var(--text)}.settings-section{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.settings-row{box-sizing:border-box;border-bottom:1px solid var(--border);min-height:64px;color:var(--text-h);justify-content:space-between;align-items:center;gap:24px;padding:10px 16px;font-size:14px;font-weight:650;display:flex}.settings-row:last-child{border-bottom:0}.settings-label{min-width:0}.settings-toggle{border:1px solid var(--border);min-width:112px;min-height:44px;color:var(--text-h);background:var(--surface);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex}.settings-toggle svg{color:var(--accent)}.settings-toggle:hover{border-color:var(--accent-border);background:var(--accent-bg)}.settings-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-auth-status{color:var(--text-h);flex:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.profile-auth-status span{background:#16845b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #16845b24}.data-section{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:8px}.list-shell{height:calc(100svh - 133px - env(safe-area-inset-bottom));box-sizing:border-box;flex-direction:column;min-height:0;display:flex;overflow:hidden}.list-shell .page-header{flex:none}.list-shell .data-section{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.section-heading{box-sizing:border-box;border-bottom:1px solid var(--border);flex:0 0 92px;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:relative}.section-heading h2{margin:0}.refresh-button{border:1px solid var(--border);min-width:108px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:14px;transition:color .16s,background-color .16s;display:inline-flex}@media (hover:hover){.refresh-button:hover:not(:disabled){color:var(--text-h);background:var(--table-header)}}.refresh-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.refresh-button:disabled{cursor:not-allowed;opacity:.65}.refresh-button:disabled svg{animation:.8s linear infinite spin}.todo-table-wrapper,.issue-table-wrapper,.place-table-wrapper{overscroll-behavior-inline:contain;min-height:0;overflow:auto}.todo-table,.issue-table,.place-table{border-collapse:collapse;width:100%}:is(.todo-table,.issue-table,.place-table) th,:is(.todo-table,.issue-table,.place-table) td{box-sizing:border-box;border-bottom:1px solid var(--border);text-align:left;padding:14px 24px}:is(.todo-table,.issue-table,.place-table) th{z-index:1;color:var(--text);background:var(--table-header);text-transform:uppercase;font-size:12px;font-weight:700;position:sticky;top:0}:is(.todo-table,.issue-table,.place-table) tbody tr:last-child td{border-bottom:0}.todo-table .status-column{text-align:center}.issue-table .status-column{text-align:center}.created-column{font-variant-numeric:tabular-nums;font-size:14px}.todo-table .title-column,.issue-table .issue-description,.place-table .place-name{min-width:0;color:var(--text-h);overflow-wrap:anywhere;font-size:15px;font-weight:650;line-height:1.4}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:13px;font-weight:600;line-height:1.45;display:inline-flex}.status-pill.complete{--status-pill-border:var(--success-border);color:var(--success-text);background:var(--success-bg);box-shadow:inset 0 0 0 1px var(--status-pill-border)}.status-pill.open{--status-pill-border:var(--warning-border);color:var(--warning-text);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--status-pill-border)}.issue-status-new,.issue-status-in_review,.issue-status-in_progress,.issue-status-completed,.issue-status-canceled{box-shadow:inset 0 0 0 1px var(--issue-status-border)}.issue-status-new{--issue-status-border:var(--status-new-border);color:var(--status-new-text);background:var(--status-new-bg)}.issue-status-in_review{--issue-status-border:var(--progress-border);color:var(--progress-text);background:var(--progress-bg)}.issue-status-in_progress{--issue-status-border:var(--warning-border);color:var(--warning-text);background:var(--warning-bg)}.issue-status-completed{--issue-status-border:var(--success-border);color:var(--success-text);background:var(--success-bg)}.issue-status-canceled{--issue-status-border:var(--error-border);color:var(--error-text);background:var(--error-bg)}.issue-description strong,.issue-description small{display:block}.issue-title-button{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.issue-title-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.issue-reference{color:var(--text);font-size:12px;font-weight:600}.issue-description small{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:500;overflow:hidden}.todo-edit-row{cursor:pointer}.issue-location{white-space:nowrap;font-size:14px}.issue-location svg{vertical-align:-3px;color:var(--accent);margin-right:6px}.issue-location a{color:var(--accent);text-decoration:none}.issue-location a:hover{text-decoration:underline}.todo-fab{z-index:12;color:#fff;cursor:pointer;background:#08785e;border:0;border-radius:50%;place-items:center;width:56px;height:56px;padding:0;transition:transform .16s;display:grid;position:fixed;bottom:32px;right:32px;box-shadow:0 8px 24px #00000038}.todo-fab:hover{transform:translateY(-2px)}.todo-fab:focus-visible{outline-offset:3px;outline:2px solid #08785e}.todo-dialog{border:1px solid var(--border);width:min(600px,100% - 40px);height:fit-content;max-height:min(722px,100svh - 40px);color:var(--text-h);background:var(--surface);border-radius:8px;padding:0;overflow:hidden;box-shadow:0 24px 64px #00000047}.todo-dialog::backdrop{background:#08060d94}.issue-dialog{width:min(920px,100% - 40px);max-height:min(820px,100svh - 40px)}.todo-form{max-height:inherit;flex-direction:column;display:flex;position:relative}.todo-form-header{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:96px minmax(0,1fr) 96px;align-items:center;gap:12px;min-height:56px;padding:6px 14px;display:grid}.todo-form-header h2{overflow-wrap:anywhere;color:var(--text-h);text-align:center;justify-content:center;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:650;line-height:1.2;display:flex}.todo-form-header h2 svg{color:var(--accent);flex:0 0 18px}.todo-icon-button,.todo-header-save-button{width:44px;height:44px;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.todo-header-save-button{width:auto;min-width:88px;color:var(--accent);font:inherit;background:0 0;justify-self:end;gap:7px;padding:0 14px;font-size:14px;font-weight:650;line-height:1;display:inline-flex}@media (hover:hover) and (width>=641px){.todo-header-save-button:hover:not(:disabled){background:var(--accent-bg)}}.todo-form-body{flex:auto;align-content:start;gap:14px;min-height:0;padding:12px 20px;display:grid;overflow:auto}.issue-form-body{--issue-side-panel-height:380px;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:start;gap:24px;padding:20px 24px 12px}.issue-form-body textarea{min-height:240px}.issue-form-body textarea::-webkit-resizer{background:linear-gradient(135deg, transparent 0 48%, var(--image-border) 49% 56%, transparent 57% 68%, var(--image-border) 69% 76%, transparent 77%);border:0}.issue-form-tabs{display:none}.issue-form-panel{align-content:start;gap:12px;min-width:0;display:grid}.issue-details-panel{grid-column:1}.issue-timestamps{color:var(--text);flex-wrap:wrap;gap:6px 18px;margin:0;font-size:11px;display:flex}.issue-timestamps div{align-items:baseline;gap:6px;margin:0;display:flex}.issue-timestamps div:last-child{margin-left:auto}.issue-timestamps dt,.issue-timestamps dd{margin:0}.issue-timestamps dd{color:var(--text-h);font-weight:600}@media (width<=480px){.issue-timestamps{grid-template-columns:1fr;gap:4px;display:grid}.issue-timestamps div{justify-content:space-between;gap:12px;display:flex}.issue-timestamps div:last-child{margin-left:0}}.issue-side-column{grid-column:2;align-content:start;gap:8px;min-width:0;display:grid}.issue-side-tabs{--issue-side-tab-count:2;grid-template-columns:repeat(var(--issue-side-tab-count), minmax(0, 1fr));box-sizing:border-box;border-bottom:1px solid var(--border);min-height:52px;display:grid;position:relative}.issue-side-tabs.has-activity{--issue-side-tab-count:3}.issue-side-tabs:after{width:calc(100% / var(--issue-side-tab-count));background:var(--accent);content:"";pointer-events:none;height:2px;transition:transform .22s;position:absolute;bottom:-1px;left:0}.issue-side-tabs:has(button:nth-child(2)[aria-selected=true]):after{transform:translate(100%)}.issue-side-tabs:has(button:nth-child(3)[aria-selected=true]):after{transform:translate(200%)}.issue-side-tabs button{min-width:0;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:650;display:inline-flex}.issue-side-tabs button svg{flex:none}.issue-side-tabs button[aria-selected=true]{color:var(--accent)}.issue-side-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.issue-side-column>.issue-form-panel{display:none}.issue-side-column>.issue-form-panel.is-side-active{display:grid}.issue-photo-panel,.issue-location-panel,.issue-activity-panel{height:var(--issue-side-panel-height);min-height:var(--issue-side-panel-height)}.issue-activity-panel{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:16px;overflow:auto}.issue-activity-list{display:grid}.issue-activity-item{border-left:1px solid var(--border);min-width:0;margin-left:5px;padding:0 0 22px 20px;position:relative}.issue-activity-item:last-child{border-left-color:#0000;padding-bottom:0}.issue-activity-item:not(:last-child):after{background:var(--accent);clip-path:polygon(0 0,100% 0,50% 100%);content:"";width:7px;height:5px;position:absolute;top:calc(50% + 9.5px);left:.75px;transform:translate(-50%,-50%)}.issue-activity-dot{--activity-dot-color:var(--accent);--activity-dot-ring:var(--accent-border);border:2px solid var(--surface);box-sizing:border-box;background:var(--activity-dot-color);width:11px;height:11px;box-shadow:0 0 0 1px var(--activity-dot-ring);border-radius:50%;position:absolute;top:4px;left:-6px}.issue-activity-dot.activity-status-new{--activity-dot-color:var(--status-new-text);--activity-dot-ring:var(--status-new-border)}.issue-activity-dot:is(.activity-status-new,.activity-status-in_review,.activity-status-in_progress,.activity-status-completed,.activity-status-canceled){width:13px;height:13px;top:3px;left:-7px}.issue-activity-dot.activity-status-none{--activity-dot-color:var(--text);--activity-dot-ring:var(--text)}.issue-activity-dot.activity-status-in_review{--activity-dot-color:var(--progress-text);--activity-dot-ring:var(--progress-border)}.issue-activity-dot.activity-status-in_progress{--activity-dot-color:var(--warning-text);--activity-dot-ring:var(--warning-border)}.issue-activity-dot.activity-status-completed{--activity-dot-color:var(--success-text);--activity-dot-ring:var(--success-border)}.issue-activity-dot.activity-status-canceled{--activity-dot-color:var(--error-text);--activity-dot-ring:var(--error-border)}.issue-activity-item p{color:var(--text-h);overflow-wrap:anywhere;margin:0 0 5px;font-size:13px;line-height:1.45}.issue-activity-item time{color:var(--text);overflow-wrap:anywhere;font-size:11px}.issue-activity-message{color:var(--text);text-align:center;align-self:center;margin:0;font-size:13px}.issue-activity-message.is-error{color:var(--error-text)}.issue-photo-panel .photo-attachment-content,.issue-photo-panel .photo-attachment-preview-frame{height:var(--issue-side-panel-height);flex-basis:var(--issue-side-panel-height)}@media (width>=761px){.issue-form-body{--issue-side-panel-height:360px}}.issue-photo-panel .photo-attachment-preview-frame,.issue-location-panel>.issue-map-preview,.issue-location-panel>.issue-map-empty{border:1px solid var(--border)}.issue-photo-panel .photo-attachment-preview{width:calc(100% - 8px);height:calc(100% - 8px);inset:4px}.issue-location-panel{position:relative}.issue-location-panel>.issue-map-preview,.issue-location-panel>.issue-map-empty{width:auto;height:auto;position:absolute;inset:0}.issue-map-preview,.issue-map-empty{box-sizing:border-box;border:2px dashed var(--image-border);isolation:isolate;border-radius:6px;width:100%;height:100%;min-height:0;overflow:hidden}.issue-map-preview{z-index:0;background:var(--surface);padding:4px;position:relative}.issue-map-preview:fullscreen{width:100vw;height:100vh}.issue-map-reset,.issue-map-fullscreen{z-index:500;color:#000;cursor:pointer;background:#fff padding-box padding-box;border:2px solid #0003;border-radius:4px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;left:14px}.issue-map-fullscreen{top:88px}.issue-map-reset{top:126px}.issue-map-reset:hover,.issue-map-fullscreen:hover{background:#f4f4f4}.issue-map-reset:focus-visible,.issue-map-fullscreen:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.issue-location-panel>.issue-location-field{z-index:500;box-sizing:border-box;-webkit-backdrop-filter:blur(10px)saturate(.75);backdrop-filter:blur(10px)saturate(.75);background:#141219b3;border-radius:6px;min-height:48px;padding:2px 8px;position:absolute;bottom:10px;left:8px;right:8px;box-shadow:0 3px 12px #00000047}.issue-location-panel>.issue-location-field>span:first-child{display:none}.issue-location-panel .issue-location-value{color:#e5e7eb;text-shadow:0 1px 2px #000000bf;gap:2px 6px}.issue-location-panel .issue-location-value a{color:#72e0bc;text-shadow:0 1px 2px #000000bf;font-weight:650}.issue-location-panel .issue-location-empty{color:#72e0bc;text-shadow:0 1px 2px #000000bf;font-size:12px;font-weight:650;line-height:1.3}.issue-location-panel .issue-location-control{position:relative}.issue-location-panel .issue-location-control.is-empty .issue-location-actions{position:absolute;right:0}.issue-location-panel .issue-location-actions{gap:2px;margin-left:auto;transform:none}.issue-location-panel .issue-location-actions button{background:0 0;width:44px;height:44px}.issue-map-preview .leaflet-container{width:100%;height:100%;font-family:var(--sans);border-radius:2px}.issue-map-attribution{z-index:500;color:var(--text);font-size:10px;font-weight:500;line-height:16px;text-decoration:none;position:absolute;bottom:57px;right:8px}.issue-map-attribution:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.issue-map-preview:fullscreen .issue-map-attribution{bottom:8px}.issue-map-preview .leaflet-popup-content{color:#2b2d31;overflow-wrap:anywhere;gap:4px;min-width:0;margin:10px 14px;line-height:1.35;display:grid;width:min(240px,100vw - 96px)!important}.issue-map-preview .leaflet-container .leaflet-popup{pointer-events:none;transition:opacity .3s}.issue-map-preview .leaflet-container.is-popup-delayed .leaflet-popup{opacity:0!important;transition-duration:0s!important}.issue-map-preview .leaflet-popup-content strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;display:block;overflow:hidden}.issue-map-preview .leaflet-popup-content span{color:#5b6169;-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;min-width:0;font-size:12px;display:-webkit-box;overflow:hidden}.issue-map-empty{color:var(--text);background:var(--table-header);text-align:center;place-items:center;padding:24px;font-size:13px;display:grid}.issue-map-empty.is-error{color:var(--error-text)}.todo-form-field{min-width:0;color:var(--text-h);gap:8px;font-size:14px;font-weight:650;display:grid}.todo-form-field>span,.todo-status-field legend{line-height:1.3}.todo-form-field>span small,.issue-location-field span small{color:var(--text);font-size:12px;font-weight:500}.todo-form-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;height:44px;min-height:44px;color:var(--text-h);background:var(--surface);font:inherit;border-radius:6px;outline:0;padding:10px 12px;font-size:15px;line-height:1.2}.todo-form-field textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);width:100%;min-height:132px;color:var(--text-h);background:var(--surface);font:inherit;border-radius:6px;outline:0;padding:10px 12px;font-size:15px;line-height:1.45}.todo-form-field input:focus,.todo-form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.todo-form-field textarea[aria-invalid=true]{border-color:var(--error-text)}.issue-location-field{color:var(--text-h);gap:8px;font-size:14px;font-weight:650;display:grid}.todo-form-header h2 .issue-header-status{font-family:var(--sans);flex:none}.issue-location-field>span:first-child{line-height:1.3}.issue-location-control{align-items:center;min-width:0;min-height:44px;display:flex}.issue-location-summary{align-items:center;gap:6px;min-width:0;display:flex}.issue-location-pin{color:var(--accent)}.issue-location-value{min-width:0;color:var(--text);white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:2px 10px;font-size:12px;font-weight:500;line-height:1.3;display:flex}.issue-location-value a{color:var(--accent);font-weight:650;text-decoration:none}.issue-location-value a:hover{text-decoration:underline}.issue-location-value a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.issue-location-empty{color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.issue-location-actions{align-items:center;gap:4px;display:flex;transform:translateY(-14px)}.issue-location-actions button{width:44px;height:44px;color:var(--text-h);background:var(--table-header);font:inherit;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.issue-location-actions button:hover:not(:disabled){color:var(--accent);background:var(--accent-bg)}.issue-location-actions button:last-child:not(:only-child){color:var(--error-text)}.issue-location-actions button:last-child:not(:only-child):hover:not(:disabled){background:var(--error-bg)}.issue-location-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.issue-location-actions button:disabled{cursor:wait;opacity:.65}.todo-form-field input[aria-invalid=true]{border-color:var(--error-text)}.todo-field-error{min-height:16px;color:var(--error-text);font-size:12px;font-weight:500;line-height:16px}.todo-status-field{border:0;min-width:0;margin:0;padding:0 0 24px;display:grid}.todo-status-field legend{color:var(--text-h);padding:0;font-size:14px;font-weight:650}.todo-status-options{margin-inline:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;width:calc(100% - 24px);margin-top:8px;display:grid}.todo-status-options button{box-sizing:border-box;border:1px solid var(--border);width:100%;height:32px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:650;line-height:1;display:inline-flex}.todo-status-options button[aria-pressed=true]{border-color:#0000}.todo-status-options button.open[aria-pressed=true]{color:var(--warning-text);background:var(--warning-bg)}.todo-status-options button.complete[aria-pressed=true]{color:var(--success-text);background:var(--success-bg)}.todo-status-options button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.photo-attachment-field{border:0;flex-direction:column;gap:8px;min-width:0;min-height:186px;margin:0;padding:0;display:flex}.photo-attachment-field legend{color:var(--text-h);flex:none;margin-bottom:8px;padding:0;font-size:14px;font-weight:650;line-height:1.3}.photo-attachment-preview-frame{box-sizing:border-box;border:2px dashed var(--image-border);width:100%;height:320px;min-height:160px;max-height:100%;color:var(--text);background:var(--table-header);font:inherit;cursor:pointer;border-radius:6px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.photo-attachment-preview-frame:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-attachment-preview-frame:disabled{cursor:default}.photo-attachment-preview{object-fit:cover;border-radius:3px;width:calc(100% - 4px);height:calc(100% - 4px);transition:opacity .22s;display:block;position:absolute;inset:2px}.photo-attachment-preview-frame.is-loading .photo-attachment-preview{opacity:0}.photo-attachment-preview-spinner{z-index:1;grid-area:1/1;animation:.8s linear infinite spin}.photo-attachment-placeholder{color:var(--text)}.photo-attachment-preview-info{z-index:2;box-sizing:border-box;min-height:48px;color:var(--accent);-webkit-backdrop-filter:blur(10px)saturate(.75);backdrop-filter:blur(10px)saturate(.75);text-align:left;background:#141219b3;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;display:flex;position:absolute;bottom:10px;left:8px;right:8px;box-shadow:0 3px 12px #00000047}.photo-attachment-preview-value{color:#e5e7eb;white-space:nowrap;text-shadow:0 1px 2px #000000bf;flex-wrap:nowrap;align-items:center;gap:2px 6px;min-width:0;font-size:12px;font-weight:500;line-height:1.3;display:flex}.photo-attachment-preview-value>span:first-child{color:#72e0bc;font-weight:650}.photo-attachment-preview-error{z-index:3;color:#fff;background:var(--error-overlay);border-radius:6px;max-width:calc(100% - 68px);margin:0;padding:6px 8px;font-size:12px;line-height:1.3;position:absolute;top:8px;left:8px;box-shadow:0 4px 12px #00000038}.todo-submit-error{z-index:5;color:#fff;background:var(--error-overlay-strong);border-radius:6px;margin:0;padding:8px 10px;font-size:12px;line-height:1.3;position:absolute;bottom:66px;left:12px;right:12px;box-shadow:0 4px 12px #00000038}.photo-viewer>button{z-index:2;color:#fff;cursor:pointer;background:#14121980;border:1px solid #ffffff2e;border-radius:6px;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;box-shadow:0 4px 12px #00000038}.photo-viewer{z-index:100;box-sizing:border-box;background:#08060df0;outline:0;place-items:center;padding:64px 24px 24px;display:grid;position:fixed;inset:0}.photo-viewer img{object-fit:contain;width:auto;max-width:calc(100dvw - 48px);height:auto;max-height:calc(100dvh - 88px);display:block}.photo-viewer>button{top:max(16px, env(safe-area-inset-top));right:16px}.photo-attachment-content{flex:0 0 320px;width:100%;min-width:0;height:320px;min-height:0}.action-sheet-layer{z-index:1000;align-items:end;display:grid;position:absolute;inset:0}.action-sheet-backdrop{cursor:default;background:#08060d8a;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.action-sheet{z-index:1;padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);border-radius:8px 8px 0 0;gap:2px;animation:.18s ease-out action-sheet-in;display:grid;position:relative;box-shadow:0 -12px 32px #0003}.action-sheet-handle{background:var(--border);border-radius:999px;width:42px;height:4px;margin:0 auto 8px}.action-sheet>button{min-height:50px;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.action-sheet>button:hover{background:var(--row-hover)}.action-sheet>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.action-sheet>.action-sheet-remove{color:var(--error-text)}@keyframes action-sheet-in{0%{transform:translateY(100%)}}.delete-confirmation-sheet{z-index:1;padding:10px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);border-radius:8px 8px 0 0;gap:16px;animation:.18s ease-out action-sheet-in;display:grid;position:relative;box-shadow:0 -12px 32px #0003}.delete-confirmation-copy{gap:6px;display:grid}.delete-confirmation-copy h3,.delete-confirmation-copy p{margin:0}.delete-confirmation-copy h3{color:var(--text-h);font-size:18px;line-height:1.25}.delete-confirmation-item-name{color:var(--text-h);overflow-wrap:anywhere;font-size:15px;font-weight:650;line-height:1.35}.delete-confirmation-copy p:last-child{color:var(--text);font-size:13px}.delete-confirmation-error{color:var(--error-text);background:var(--error-bg);border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.delete-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.delete-confirmation-actions button{border:1px solid var(--border);min-width:0;min-height:44px;color:var(--text-h);background:var(--surface);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex}.delete-confirmation-actions .delete-confirmation-confirm{color:#fff;background:#b42318;border-color:#b42318}.delete-confirmation-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.delete-confirmation-actions button:disabled,.action-sheet-backdrop:disabled{cursor:wait;opacity:.65}.photo-viewer>button:focus-visible{outline-offset:2px;outline:2px solid #fff}.todo-form-actions{box-sizing:border-box;flex:0 0 72px;justify-content:center;align-items:center;padding:6px 11px 22px;display:flex}.todo-form-actions button{min-height:44px;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.todo-form-actions button:focus-visible,.todo-icon-button:focus-visible,.todo-header-save-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.todo-form-actions button:disabled,.todo-icon-button:disabled,.todo-header-save-button:disabled,.photo-attachment-field:disabled,.todo-form-field input:disabled,.todo-status-field:disabled{cursor:wait;opacity:.65}.todo-header-save-button.is-read-only:disabled{color:var(--text);cursor:default;opacity:.45}.todo-form-actions .todo-delete-button{min-width:0;color:var(--error-text);opacity:.78;background:0 0;font-size:13px}.todo-form-actions .todo-delete-button:hover{background:var(--error-bg);opacity:1}.todo-button-spinner{animation:.8s linear infinite spin}.table-message{padding:32px 24px}.table-error{color:var(--error-text)}.realtime-status{color:var(--text);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.realtime-label-compact{display:none}.realtime-status.connected{color:var(--success-text)}.realtime-status.disconnected{color:var(--warning-text)}.place-phone a,.place-address a{color:var(--accent);text-decoration:none}.place-phone a:hover,.place-address a:hover{text-decoration:underline}.place-phone a:focus-visible,.place-address a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.place-cell-icon{display:none}.empty-page{min-height:50svh}.profile-page-header{margin-bottom:28px}.profile-overview{border-block:1px solid var(--border);align-items:center;gap:20px;padding:26px 0;display:flex}.profile-avatar{width:72px;height:72px;color:var(--accent);background:var(--accent-bg);border-radius:50%;flex:0 0 72px;place-items:center;font:700 28px Manrope,sans-serif;display:grid;position:relative;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.profile-identity{min-width:0}.profile-label{color:var(--accent);text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:700}.profile-identity h2{margin:0;font-size:22px;font-weight:650}.profile-identity>p:last-child{overflow-wrap:anywhere;color:var(--text);margin-top:4px;font-size:14px}.profile-details{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:36px}.profile-details:focus-visible,.settings-section:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-section-heading{border-bottom:1px solid var(--border);padding:22px 24px}.profile-section-heading h2{margin-bottom:4px;font-size:20px;font-weight:650}.profile-section-heading p{color:var(--text);font-size:14px}.profile-detail-list{margin:0}.profile-detail-row{border-bottom:1px solid var(--border);box-sizing:border-box;grid-template-columns:20px minmax(140px,.65fr) minmax(0,1fr);align-items:center;gap:16px;min-height:64px;padding:10px 16px;display:grid}.profile-detail-row:last-child{border-bottom:0}.profile-detail-row svg{width:20px;height:20px;color:var(--accent)}.profile-detail-row dt{color:var(--text);font-size:14px;font-weight:600}.profile-detail-row dd{min-width:0;color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:14px}.profile-user-id{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px!important}.profile-provider{text-transform:capitalize}@media (width>=720px){.app-shell{width:min(960px,100% - 40px);padding:56px 0}.page-header{flex-direction:row;align-items:flex-start;margin-bottom:40px}}@media (width<=1023px){.site-header{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding-inline:12px;display:grid}.site-header-start,.header-actions{display:contents}.site-header-start>.menu-button{grid-column:1}.site-header-start .brand{grid-column:2;place-self:center}.preference-controls{grid-column:3}}@media (width>=641px){.notification-panel{right:-96px}.todo-table,.issue-table{table-layout:fixed}.issue-table th:nth-child(2),.issue-table th:nth-child(3),.issue-table .status-column,.issue-table .issue-location{text-align:center}.issue-table th:nth-child(2){width:22%}.issue-table th:nth-child(3){width:18%}.issue-table th:nth-child(4){width:20%}.todo-table th:nth-child(2){width:22%}.todo-table th:nth-child(3){width:20%}.place-table{table-layout:fixed}.place-table th:first-child,.place-table th:nth-child(2),.place-table th:nth-child(4){width:20%}.todo-table tbody tr,.issue-table tbody tr,.place-table tbody tr{transition:background-color .16s}}@media (width>=641px) and (width<=719px){.todo-table th,.todo-table td,.issue-table th,.issue-table td{padding-inline:12px}}@media (hover:hover) and (pointer:fine){.navigation-link:hover,.drawer-link:hover{color:var(--accent);background:var(--accent-bg)}.todo-table tbody tr:hover,.issue-table tbody tr:hover,.place-table tbody tr:hover{background:var(--row-hover)}}@media (width>=1024px){.app-layout{grid-template-rows:65px minmax(calc(100svh - 65px),auto);grid-template-columns:260px minmax(0,1fr);padding-bottom:0;display:grid}.site-header{display:contents}.site-header-start,.drawer-layer{display:none}.header-actions{z-index:15;box-sizing:border-box;background:0 0;border-bottom:0;grid-area:1/2;justify-content:flex-end;gap:4px;width:auto;min-height:65px;margin-left:0;padding-left:32px;padding-right:32px;position:sticky;top:0}.header-actions .primary-navigation{background:0 0}.header-actions .preference-controls{margin-left:12px}.primary-navigation{border:0;gap:8px;min-height:auto;padding:0;display:flex;position:static}.navigation-link{border-radius:6px;flex-direction:row;min-height:40px;padding:0 12px;font-size:14px}.navigation-link.active{background:var(--accent-bg)}.content-layout{display:contents}.desktop-sidebar{border-right:1px solid var(--border);box-sizing:border-box;background:var(--surface);flex-direction:column;grid-area:1/1/3;align-self:start;height:100svh;padding:0 20px 24px;display:flex;position:sticky;top:0}.sidebar-brand{box-sizing:border-box;flex:0 0 65px;gap:10px;height:65px;min-height:65px;max-height:65px;padding:0 12px;font-size:20px;position:relative;overflow:hidden}.sidebar-brand:after{content:"";background:var(--border);height:1px;position:absolute;bottom:0;left:-20px;right:-20px}.sidebar-brand .brand-mark{flex-basis:36px;width:36px;height:36px}.desktop-sidebar .sidebar-label{margin-top:32px}.desktop-sidebar>.sidebar-footer{margin-inline:-7px}.content-layout .app-shell{box-sizing:border-box;grid-area:2/2;width:100%;margin:0;padding:56px clamp(32px,3vw,56px)}.list-shell{height:calc(100svh - 65px)}}@media (width<=640px){.notification-panel{border-left:0;border-right:0;border-radius:0;width:100%;max-height:calc(100svh - 56px);position:fixed;top:56px;left:0;right:0}.app-shell{width:calc(100% - 40px)}.list-shell{width:100%;padding-inline:20px}.page-header{gap:12px;margin-bottom:18px}.data-section{background:0 0;border:0;border-radius:0}.settings-section{border-left:0;border-right:0;border-radius:0;margin-inline:-20px}.settings-row{padding-inline:20px}.profile-page-header{flex-direction:row;align-items:center;gap:16px;margin-bottom:4px}.profile-page-header .page-title{margin-bottom:0}.profile-page-header .subtitle{display:none}.profile-page-header .profile-auth-status{margin-left:auto;font-size:12px}.profile-overview{gap:14px;padding:20px 0}.profile-avatar{flex-basis:58px;width:58px;height:58px;font-size:23px}.profile-identity h2{font-size:18px}.profile-identity>p:last-child{font-size:13px}.profile-details{border-left:0;border-right:0;border-radius:0;margin-top:16px}.profile-section-heading{padding:16px 12px}.profile-section-heading h2{font-size:18px}.profile-section-heading p{font-size:13px}.profile-detail-row{grid-template-columns:34px minmax(0,1fr);gap:2px 12px;min-height:62px;padding:8px 12px}.profile-detail-row svg{background:var(--accent-bg);border-radius:6px;grid-row:1/3;width:18px;height:18px;padding:8px}.profile-detail-row dt,.profile-detail-row dd{grid-column:2}.profile-detail-row dt{font-size:12px}.profile-detail-row dd{font-size:13px}.profile-user-id{font-size:11px!important}.section-heading{border-bottom:0;flex-basis:44px;padding:0}.refresh-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0}.refresh-button:hover:not(:disabled){background:0 0}.realtime-status{min-height:44px}.realtime-label-full{display:none}.realtime-label-compact{display:inline}.todo-fab{right:20px;bottom:calc(80px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:54px;height:54px}.todo-fab:hover{transform:none}.todo-dialog{box-sizing:border-box;border:0;border-radius:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;position:fixed;inset:0}.issue-dialog{height:100dvh}.todo-form{height:100%}.todo-form-header{min-height:calc(56px + env(safe-area-inset-top));padding-top:calc(6px + env(safe-area-inset-top));flex:none;grid-template-columns:44px minmax(0,1fr) 44px}.issue-form-body{flex-direction:column;align-items:stretch;gap:0;padding:0 20px 12px;display:flex}.issue-form-tabs{--issue-form-tab-count:3;z-index:4;grid-template-columns:repeat(var(--issue-form-tab-count), minmax(0, 1fr));box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--surface);flex:0 0 52px;margin:0 -20px 12px;padding:6px 20px;display:grid;position:sticky;top:0}.issue-form-tabs.has-activity{--issue-form-tab-count:4}.issue-form-tabs:after{width:calc((100% - 40px) / var(--issue-form-tab-count));background:var(--accent);content:"";pointer-events:none;height:2px;transition:transform .22s;position:absolute;bottom:-1px;left:20px}.issue-form-tabs:has(button:nth-child(2)[aria-selected=true]):after{transform:translate(100%)}.issue-form-tabs:has(button:nth-child(3)[aria-selected=true]):after{transform:translate(200%)}.issue-form-tabs:has(button:nth-child(4)[aria-selected=true]):after{transform:translate(300%)}.issue-form-tabs button{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;place-items:center;padding:0 12px;font-size:14px;font-weight:650;display:grid}.issue-form-tabs button[aria-selected=true]{color:var(--accent)}.issue-form-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.issue-form-panel,.issue-side-column>.issue-form-panel.is-side-active{display:none}.issue-form-panel.is-active,.issue-side-column>.issue-form-panel.is-active{display:grid}.issue-form-body textarea{min-height:132px}.issue-side-column{display:contents}.issue-side-tabs{display:none}.issue-activity-panel{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex:1 1 0;height:auto;min-height:0;overflow-y:auto}.issue-activity-panel::-webkit-scrollbar{display:none}.photo-attachment-preview-frame{flex:0 0 320px;height:320px;max-height:none}.todo-form-actions{flex-basis:calc(72px + env(safe-area-inset-bottom));padding-bottom:calc(22px + env(safe-area-inset-bottom))}.todo-header-save-button{width:44px;min-width:44px;color:var(--accent);background:0 0;padding:0;display:grid}.todo-header-save-label{display:none}.todo-dialog button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.todo-dialog button:active{filter:none;transform:none}.todo-edit-row{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.todo-table tbody tr:hover,.todo-table tbody tr:active,.issue-table tbody tr:hover,.issue-table tbody tr:active{background:0 0}.refresh-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.todo-table-wrapper,.issue-table-wrapper,.place-table-wrapper{overscroll-behavior-block:contain;margin-inline:-20px}.todo-table,.todo-table tbody,.todo-table tr,.todo-table td,.place-table,.place-table tbody,.place-table tr,.place-table td,.issue-table,.issue-table tbody,.issue-table tr,.issue-table td{box-sizing:border-box;width:100%;display:block}.issue-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.issue-table tr{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 20px;display:grid}.issue-table td{border:0;padding:0}.issue-table .issue-description{grid-area:1/1;align-self:center}.issue-table .status-column{text-align:right;grid-area:1/2;place-self:start end}.issue-table .issue-location,.issue-table .created-column{color:var(--text);font-size:12px}.issue-table .issue-location{grid-area:2/1}.issue-table .created-column{text-align:right;white-space:nowrap;grid-area:2/2;justify-self:end}.todo-table thead,.place-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.todo-table tr{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 32px 14px 20px;display:grid}.todo-table td,.place-table td{border:0;padding:0}.todo-table .title-column{grid-area:1/1;align-self:center}.todo-table .status-column{grid-area:1/2;align-self:center}.todo-table .created-column{color:var(--text);grid-area:2/1/auto/3;font-size:12px}.place-table tr{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 32px 14px 20px;display:grid}.place-table .place-name{grid-column:1;margin-bottom:2px}.place-table .place-address,.place-table .place-phone{color:var(--text);grid-column:1;align-items:flex-start;gap:9px;line-height:1.45;display:flex}.place-table .place-address{grid-row:2}.place-table .place-phone{grid-row:3}.place-table .place-cell-icon{color:var(--accent);flex:0 0 16px;margin-top:2px;display:block}.place-table .created-column{display:none}}@media (prefers-reduced-motion:reduce){.issue-form-tabs:after,.issue-side-tabs:after,.photo-attachment-preview,.menu-button,.navigation-link,.drawer-link,.refresh-button,.todo-fab,.todo-table tbody tr,.issue-table tbody tr,.place-table tbody tr{transition:none}.navigation-drawer,.action-sheet,.delete-confirmation-sheet,.photo-attachment-preview-spinner,.refresh-button:disabled svg,.todo-button-spinner{animation:none}}.login-page{background:var(--surface);grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);min-height:100svh;display:grid}.login-intro{color:#effbf6;background-color:#075c4c;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px),linear-gradient(145deg,#08785e 0%,#075447 58%,#063d37 100%);background-size:48px 48px,48px 48px,auto;flex-direction:column;padding:clamp(32px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-intro:after{aspect-ratio:1;content:"";border:1px solid #ffffff21;border-radius:50%;width:70%;position:absolute;bottom:-16%;right:-18%;box-shadow:0 0 0 64px #ffffff09,0 0 0 128px #ffffff06}.login-brand{z-index:1;color:#fff;align-items:center;gap:12px;font-size:21px;font-weight:750;display:flex;position:relative}.login-brand-mark{background:#ffffff26;border-radius:7px;place-items:center;width:42px;height:42px;display:grid}.login-copy{z-index:1;width:min(570px,100%);margin:auto 0;padding-block:72px;position:relative}.login-eyebrow{color:#9de3cc;text-transform:uppercase;margin-bottom:18px;font-size:13px;font-weight:750}.login-copy h1{color:#fff;max-width:520px;margin:0 0 24px;font-size:clamp(42px,5vw,68px);font-weight:560;line-height:1.02}.login-copy>p:last-child{color:#effbf6c4;max-width:510px;font-size:17px;line-height:1.65}.login-intro-footer{z-index:1;color:#effbf694;font-size:13px;position:relative}.login-form-panel{background:var(--surface);place-items:center;padding:48px clamp(32px,7vw,112px);display:grid}.login-form-wrap{width:min(430px,100%)}.login-form-heading{margin-bottom:36px}.login-form-heading-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;display:flex}.login-form-heading h2{margin:0;font-size:32px;font-weight:650}.login-preferences{align-items:center;gap:6px;display:flex}.login-preference-button{border:1px solid var(--border);min-width:36px;height:36px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.login-preference-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-form-heading>p:last-child,.login-support{color:var(--text);font-size:15px}.login-form{gap:20px;display:grid}.login-field{color:var(--text-h);gap:8px;font-size:14px;font-weight:650;display:grid}.login-input-wrap{border:1px solid var(--border);min-height:52px;color:var(--text);background:var(--surface);border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 15px;transition:border-color .16s,box-shadow .16s;display:grid}.login-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.login-input-wrap input{width:100%;min-width:0;color:var(--text-h);font:inherit;background:0 0;border:0;outline:0;padding:14px 0;font-size:15px}.login-input-wrap input::placeholder{color:var(--text);opacity:.72}.login-input-wrap input:-webkit-autofill{box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text-h);-webkit-text-fill-color:var(--text-h)}.login-input-wrap input:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text-h);-webkit-text-fill-color:var(--text-h)}.login-input-wrap input:-webkit-autofill:focus{box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text-h);-webkit-text-fill-color:var(--text-h)}.password-toggle{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-right:-8px;padding:0;display:grid}.password-toggle:focus-visible,.login-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-error{color:var(--error-text);background:var(--error-bg);border-radius:6px;margin:0;padding:11px 13px;font-size:13px;line-height:1.45}.login-submit{color:#fff;min-height:52px;font:inherit;cursor:pointer;background:#08785e;border:0;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:15px;font-weight:700;transition:filter .16s;display:inline-flex}.login-submit:disabled{cursor:wait;opacity:.7}.login-spinner{animation:.8s linear infinite spin}.login-support{text-align:center;margin-top:28px}.auth-loading{min-height:100svh;color:var(--text-h);justify-content:center;align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.auth-loading-mark{width:40px;height:40px;color:var(--accent);background:var(--accent-bg);border-radius:7px;place-items:center;animation:1.2s ease-in-out infinite alternate login-pulse;display:grid}@keyframes login-pulse{to{opacity:.55}}@media (hover:none){.login-page button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (hover:hover){.login-preference-button:hover,.password-toggle:hover{color:var(--accent);background:var(--accent-bg)}.login-submit:hover:not(:disabled){filter:brightness(.92)}}@media (width<=860px){.login-page{display:block}.login-intro{box-sizing:border-box;min-height:210px;padding:28px 24px}.login-copy{margin:36px 0 4px;padding:0}.login-copy h1{max-width:600px;margin-bottom:0;font-size:36px;line-height:1.08}.login-copy>p:last-child,.login-eyebrow,.login-intro-footer{display:none}.login-form-panel{box-sizing:border-box;min-height:calc(100svh - 210px);padding:44px 24px}}@media (width<=520px){.login-intro{justify-content:center;min-height:160px;padding:0 24px}.login-brand-mark{width:38px;height:38px}.login-copy{margin:10px 0 0}.login-copy h1{white-space:nowrap;font-size:18px;line-height:1.15}.login-form-panel{place-items:start center;min-height:calc(100svh - 160px);padding:34px 20px}.login-form-heading{margin-bottom:28px}.login-form-heading h2{font-size:27px}}@media (prefers-reduced-motion:reduce){.login-preference-button,.password-toggle,.login-submit{transition:none}.auth-loading-mark,.login-spinner{animation:none}}
