:root{color-scheme:light;--bg:#f3f5f6;--surface:#fff;--text:#20313e;--muted:#617382;--line:#dce4e9;--accent:#285970;--soft:#eaf1f5;--danger:#a72e2e;--success:#236848;--nav-height:0px;--header-height:96px;--bottom-space:120px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.dark{color-scheme:dark;--bg:#172028;--surface:#212c36;--text:#eef3f6;--muted:#bbc8d2;--line:#3c4b58;--accent:#8dc5dd;--soft:#2b414e;--danger:#ffadad;--success:#9bd3b3}[hidden]{display:none!important}button,.button{font:inherit;border:1px solid var(--line);border-radius:9px;padding:11px 14px;min-height:46px;background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.3;max-width:100%;overflow-wrap:anywhere}button:hover,.button:hover{border-color:var(--accent);background:var(--soft)}button:disabled{opacity:.55;cursor:default}.primary,.primary:hover{background:#285970;color:#fff;border-color:#285970}.quiet{background:transparent}.danger{color:var(--danger)}a{color:var(--accent)}:focus-visible{outline:3px solid #d19c36;outline-offset:3px}.ui-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.full-width{width:100%}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.actions>button{flex:1;min-width:100px}header{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:calc(12px + env(safe-area-inset-top)) 24px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;flex:1;min-width:120px}.brand strong{font-size:20px;letter-spacing:-.5px;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:2.5px;color:var(--muted);margin-top:3px}.mark{width:33px;height:33px}.header-tools{display:flex;align-items:center;gap:6px}.header-tools button{min-height:38px;padding:7px 9px;font-size:12px}.account-link{border-color:transparent;background:var(--soft);color:var(--muted)}.account-connected{color:var(--success)}.back-projects{font-size:28px;line-height:1;padding:0;min-width:36px;min-height:40px;border-color:transparent}.project-context{flex:1 0 calc(100% - 250px);display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border-top:1px solid var(--line);padding-top:10px}.project-context>div{min-width:0}.project-context strong{font-size:16px;display:block;overflow-wrap:anywhere;line-height:1.3}.project-context span{font-size:12px;color:var(--muted);display:block;overflow-wrap:anywhere;margin-top:3px}.context-switch{font-size:12px;min-height:38px;padding:8px;flex:none}.project-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-left:auto;padding-top:10px}.project-tools button{font-size:12px;min-height:38px;padding:8px 12px;background:var(--soft);border-color:transparent}#save-state{font-size:11px;color:var(--success);white-space:nowrap}#save-state[data-state=pending],#save-state[data-state=saving]{color:var(--muted)}#save-state[data-state=error]{color:var(--danger);font-weight:700}main{max-width:1120px;margin:auto;padding:28px 24px var(--bottom-space)}h1{font-size:28px;letter-spacing:-.6px;line-height:1.2;margin:0 0 8px}h2{font-size:18px;line-height:1.35;margin:0 0 12px}h3{font-size:16px}.sub{font-size:14px;color:var(--muted);margin:0 0 22px}.muted{color:var(--muted)}.success{color:var(--success)}.recording{color:var(--danger);font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:16px}.card p{white-space:pre-wrap;overflow-wrap:anywhere}.tag{display:inline-block;padding:4px 8px;background:var(--soft);border-radius:5px;font-size:11px;font-weight:600;color:var(--accent);overflow-wrap:anywhere}.project-toolbar{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:24px 0 18px}.project-search{margin-bottom:24px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}.project-tile{display:flex;flex-direction:column;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 6px #173d5410;min-width:0}.tile-top{display:flex;align-items:center;gap:9px;color:var(--accent);margin-bottom:16px}.project-tile h2{font-size:19px;margin:0 0 10px;overflow-wrap:anywhere}.project-tile p{margin:0 0 5px;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.tile-customer{font-weight:600}.project-tile .tile-address{color:var(--muted);flex:1}.project-tile .tile-counts{font-size:12px;color:var(--muted);margin:18px 0 8px}.tile-status{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:11px;color:var(--success);border-top:1px solid var(--line);padding-top:10px}.tile-status[data-state=pending]{color:var(--muted)}.tile-status span{color:var(--muted)}.project-tile .actions{margin:16px 0 0}.project-tile .actions button{font-size:13px;padding:11px 9px}.empty{padding:25px;text-align:center;color:var(--muted);font-size:14px;grid-column:1/-1}.form-section h2{color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:12px}.section-hint{font-size:13px;margin:0 0 14px}.form-section label:first-of-type{margin-top:0}label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}input,select,textarea{display:block;font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px;width:100%;min-height:46px;margin-top:6px;scroll-margin-top:220px;scroll-margin-bottom:180px}input[type=search]{margin-top:0}textarea{min-height:145px;resize:vertical;line-height:1.55}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row>label{min-width:0}.notice{padding:12px;border-left:3px solid var(--accent);background:var(--soft);margin:12px 0;font-size:13px}.room-title{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:24px 0 4px}.finding-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:15px 0;text-align:left;min-height:64px}.finding-row>span:first-child{min-width:0;flex:1}.finding-row strong,.finding-row small,.finding-note{display:block;overflow-wrap:anywhere}.finding-row strong{font-size:15px}.finding-row small{font-size:11px;color:var(--muted);margin-top:5px}.finding-note{font-size:14px;color:var(--muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finding-row .ui-icon{width:16px;height:16px;color:var(--muted)}.forward-icon{transform:rotate(180deg)}.finding-editor{padding:18px}.visit-details{padding:12px 16px}.visit-details summary,.extra-fields summary{font-size:14px;min-height:44px;cursor:pointer}.extra-fields{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.capture{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.capture button{padding:13px 8px;font-size:13px;background:var(--soft);border-color:transparent}.media{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:16px 0}.media img{width:100%;height:130px;object-fit:cover;border-radius:8px;cursor:pointer}.media audio{width:100%;max-width:100%}.media figure{min-width:0}.media input{font-size:14px;margin:7px 0}.media a,.media-count{font-size:12px;color:var(--muted)}figure{margin:0}.camera-shutter{display:flex;flex-direction:column;gap:14px;width:100%;min-height:185px;margin:20px 0 12px;background:var(--soft);border:1px dashed var(--accent);color:var(--accent);font-weight:600}.camera-shutter .ui-icon{width:48px;height:48px;stroke-width:1.25}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:16px;margin:10px 0 20px}.photo-tile{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.photo-preview{display:block;width:100%;padding:0;border:0;border-radius:0;aspect-ratio:4/3}.photo-preview img{display:block;width:100%;height:100%;object-fit:cover}.photo-tile figcaption{font-size:12px;padding:9px 10px;overflow-wrap:anywhere;white-space:pre-wrap}.photo-original{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}.recent-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.recent-photos figcaption{font-size:11px;padding:6px}.transfer-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:24px}.transfer-bar strong{font-size:14px;display:block}.transfer-bar small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.transfer-bar button{font-size:13px}.report-paper{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:5px;max-width:850px;margin:auto;overflow-wrap:anywhere}.report-paper>h2{font-size:24px}.report-finding{border-top:1px solid var(--line);padding:12px 0;margin-top:22px;break-inside:avoid}.report-finding p{white-space:pre-wrap;line-height:1.6}.report-photo{width:100%;height:auto;max-height:650px;object-fit:contain}.report-caption{font-size:12px;color:var(--muted);margin-top:6px}.project-info dl{margin:0}.project-info dt{font-size:12px;color:var(--muted);margin-top:12px}.project-info dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.project-info .actions{margin-bottom:0}.document-preview{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.pdf-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.pdf-tools button,.pdf-tools>span{font-size:13px}.pdf-tools select{width:auto;max-width:100%;font-size:14px}.pdf-page{max-width:100%;overflow:auto;overscroll-behavior:contain;background:#e9edf0}.pdf-page canvas{display:block;background:#fff}.pdf-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;padding:12px 0}.document-preview summary{padding:12px 0}.settings-group h2{font-size:16px;margin-bottom:6px}.settings-row{display:flex;width:100%;justify-content:flex-start;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:14px 0}.settings-group p,.install-help p{font-size:13px;color:var(--muted)}.settings-group summary,.install-help summary{min-height:44px;padding:12px 0;font-size:14px}.password-control{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}.password-control input{flex:1;min-width:0;margin:0}.password-control button{flex:none;min-width:92px;font-size:13px}.login-form{max-width:460px;margin:20px auto}.login-form>button[type=submit]{width:100%;margin-top:12px}.account-overview{max-width:560px}.account-overview>strong{font-size:20px}.account-overview .success{font-size:13px;margin:4px 0 16px}.card form>button[type=submit]{margin-top:14px}code{overflow-wrap:anywhere}nav{position:fixed;bottom:0;left:0;right:0;display:flex;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:9}nav button{flex:1;min-width:0;flex-direction:column;gap:5px;border:0;padding:8px 1px;font-size:10px;min-height:54px;background:transparent;max-width:none}nav button .ui-icon{width:21px;height:21px}nav button[aria-current]{color:var(--accent);background:var(--soft);font-weight:700}footer{position:fixed;bottom:var(--nav-height);left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 18px;font-size:11px;z-index:8}#status{max-height:60px;overflow:auto}#failure{color:var(--danger);font-weight:600;max-height:90px;overflow:auto}#rescue button{font-size:12px;padding:7px;min-height:34px}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(780px,94vw);max-height:85dvh;overflow:auto;overscroll-behavior:contain;padding:20px}dialog::backdrop{background:#14233199}dialog .actions{position:sticky;bottom:-20px;background:var(--surface);padding:12px 0 0;margin:12px 0 0}dialog .report-paper{border:0;padding:0}.selection-summary{font-size:14px;white-space:pre-line}.batch-status{font-size:13px;color:var(--muted)}
@media(max-width:600px){header{padding-left:14px;padding-right:14px;gap:8px}.brand strong{font-size:18px}.brand{min-width:110px}.header-tools{gap:3px}.header-tools button{font-size:11px;padding:6px 7px}#global-settings{font-size:11px}.project-context{flex-basis:100%;order:3;padding-top:10px}.project-context strong{font-size:15px}.project-tools{order:4;width:100%;margin:0;padding-top:0;border-top:0;justify-content:flex-end;gap:12px}main{padding:22px 14px var(--bottom-space)}h1{font-size:25px}.project-toolbar{margin-top:20px;gap:8px}.project-toolbar button{font-size:13px;flex:1;padding:11px 10px}.project-grid{gap:14px}.project-tile{padding:18px}.card{padding:16px}.report-paper{padding:18px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recent-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.transfer-bar{gap:12px;padding:14px}.transfer-bar button{width:100%}.row{grid-template-columns:1fr}.capture button{font-size:12px}input,textarea,select{scroll-margin-top:240px}.project-tools #save-state{margin-right:auto}}
@media(max-width:360px){.mark{width:28px;height:28px}.brand strong{font-size:16px}.brand{min-width:95px;gap:6px}.header-tools button{font-size:10px;padding:5px}.header-tools #theme{display:none}.project-toolbar{flex-direction:column}.photo-grid{gap:8px}nav button{font-size:9px}.context-switch{font-size:11px}.project-context span{font-size:11px}}
@media(min-width:900px){body.has-project-nav main{margin:0 auto 0 210px;max-width:1100px;padding-left:34px;padding-right:34px}nav{right:auto;top:var(--header-height);width:190px;bottom:0;flex-direction:column;gap:5px;padding:22px 12px;border-top:0;border-right:1px solid var(--line);z-index:6}nav button{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;font-size:14px;min-height:48px;padding:12px}body.has-project-nav footer{left:190px;bottom:0}.project-context{flex-basis:calc(100% - 250px)}.project-tools{min-width:225px}.in-project{--bottom-space:100px}nav:not([hidden])~*{min-width:0}}
@media print{header,nav,footer,button,.button,.actions,.capture,.transfer-bar,.sub{display:none!important}main{margin:0!important;padding:0!important;max-width:none}body{background:#fff;color:#000}body:has(dialog[open]) main{display:none!important}dialog[open]{position:static;max-height:none;width:100%;border:0;overflow:visible;margin:0;padding:0}dialog::backdrop{display:none}.report-paper{border:0;padding:0;max-width:none}.report-finding{break-inside:avoid}.report-photo{max-height:650px}.card{break-inside:avoid}}

body[data-route=home] footer,body[data-route=projects] footer{padding-bottom:calc(8px + env(safe-area-inset-bottom))}

.pdf-export-actions{position:sticky;top:-20px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;background:var(--surface);padding:10px 0;margin:0 0 12px}.pdf-export-actions>*{flex:1;min-width:120px}.pdf-export-summary{font-size:13px;color:var(--muted)}@media print{.pdf-export-actions,.pdf-export-summary,.notice{display:none!important}}

.project-views{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.project-views button{font-size:13px;padding:10px 12px}.project-views button[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:var(--accent);font-weight:600}.project-options{position:relative;margin-left:auto;flex:none}.project-options summary{display:flex;align-items:center;justify-content:center;list-style:none;width:40px;height:40px;border-radius:8px;cursor:pointer;font-size:26px;line-height:1;color:var(--muted)}.project-options summary::-webkit-details-marker{display:none}.project-options[open] summary,.project-options summary:hover{background:var(--soft)}.project-options-menu{position:absolute;right:0;top:calc(100% + 4px);width:248px;max-width:calc(100vw - 70px);padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px #173d5426;z-index:4}.project-options-menu button{border:0;border-radius:6px;width:100%;font-size:14px;text-align:left;justify-content:flex-start;min-height:46px}.project-tile:has(.project-options[open]){position:relative;z-index:4}.tile-top .tag{min-width:0}.visibility-notice{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:var(--soft);border-radius:10px;margin-bottom:18px;font-size:13px}.visibility-notice button{font-size:13px;flex:none}

.delete-ack{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.45;margin:20px 0}.delete-ack input{width:22px;height:22px;min-height:22px;flex:none;margin:0}.delete-confirm{width:100%;border-color:var(--danger);margin-top:8px}
