:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark;background:#15191f;color:#f5f5f5}
*{box-sizing:border-box}body{margin:0}header{position:sticky;top:0;z-index:2;background:#15191f;border-bottom:1px solid #353940;padding:.65rem max(1rem,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.brand{display:flex;align-items:center;gap:.65rem}.brand img{width:42px;height:42px;object-fit:contain;border-radius:6px}.brand strong{display:block;letter-spacing:.08em}.brand small{font-size:.65rem;color:#b9bec6;letter-spacing:.06em}
main{max-width:900px;margin:auto;padding:1rem 1rem 4rem}.card{background:#20252c;border:1px solid #363d46;border-radius:12px;padding:1rem;margin-bottom:1rem}h2{font-size:1.2rem;margin:.2rem 0 1rem}h3{font-size:1rem}.row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.badge{padding:.35rem .6rem;background:#313943;border-radius:9px;white-space:nowrap;font-size:.78rem;font-weight:700}
p{line-height:1.45;color:#c7cbd1}label{display:block;font-size:.83rem;font-weight:700;margin:.65rem 0}input:not([type=checkbox]):not([type=file]),select,textarea{display:block;width:100%;min-height:43px;margin-top:.35rem;padding:.65rem;border:1px solid #4c535c;border-radius:8px;background:#2d323a;color:#fff;font:inherit}textarea{resize:vertical}
button{border:0;border-radius:8px;background:#fa575d;color:white;font-weight:700;padding:.75rem .9rem;min-height:43px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #7db8ff;outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem}.checks label{font-weight:500}.checks input{margin-right:.35rem}details{border-top:1px solid #41464e;padding:.8rem 0}summary{font-weight:800;cursor:pointer;padding:.3rem 0}
#sketch{display:block;width:100%;height:auto;background:#fff;touch-action:none;border:2px solid #858b93;border-radius:5px}#notice:empty{display:none}#notice{padding:.6rem;border-radius:8px;background:#364453;color:#fff}#saved-indicator{font-weight:700;color:#9ce7b0}
.list-item{border-top:1px solid #41464e;padding:.7rem 0}.list-item p{margin:.3rem 0}.list-item button{margin:.2rem .4rem .2rem 0}.room,.photo-item{padding:.6rem;border:1px solid #434a53;border-radius:8px;margin:.5rem 0}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.actions button{flex:1}.photo-item img{max-width:110px;max-height:90px;object-fit:cover;vertical-align:middle;margin-right:.5rem}#photo-list{display:grid;gap:.4rem}
.media-pickers{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.media-pickers label{display:inline-flex;align-items:center;min-height:43px;padding:.65rem .8rem;margin:0;border-radius:8px;background:#364453;cursor:pointer}.media-pickers input{position:absolute;width:1px;height:1px;opacity:0}.media-pickers label:focus-within{outline:2px solid #7db8ff}.photo-item{display:grid;grid-template-columns:110px 1fr;gap:.5rem;align-items:start}.photo-item img{width:110px;height:90px;object-fit:cover}.photo-item label{margin:0}.photo-item button{justify-self:start}.actions a{display:inline-flex;align-items:center;justify-content:center;flex:1;min-height:43px;padding:.7rem;border-radius:8px;background:#364453;color:#fff;text-align:center;font-weight:700;text-decoration:none}
@media(max-width:600px){.grid,.checks{grid-template-columns:1fr}.card{padding:.85rem}.brand small{font-size:.57rem}.badge{font-size:.7rem}.row button{max-width:100%}main{padding:.75rem .65rem 3rem}}
#sketch{pointer-events:none}#technical-sketch-preview{display:block;max-width:100%;max-height:260px;object-fit:contain;background:white;border:1px solid #dce3e6;border-radius:8px}#technical-sketch-preview[hidden]{display:none}#technical-sketch-conflict{margin-top:12px;padding:10px;border:1px solid #c68f6b;border-radius:8px}#technical-sketch-conflict[hidden]{display:none}
.inline-status:empty,.validation-summary[hidden]{display:none}.inline-status{padding:.55rem .7rem;border-left:4px solid #7db8ff;background:#293442;color:#fff;border-radius:6px}.validation-summary{margin-top:1rem;padding:.8rem;border:2px solid #ff9b9f;background:#4b292d;color:#fff;border-radius:8px}.validation-summary strong{display:block}.validation-summary ul{margin:.55rem 0 0;padding-left:1.25rem}.validation-summary li{margin:.3rem 0}[aria-invalid="true"]{border-color:#ff8a8f!important;box-shadow:0 0 0 1px #ff8a8f}

#operation-result:empty,#pin-distance:empty{display:none}#operation-result{padding:.75rem;border:1px solid #718599;border-radius:8px;scroll-margin-top:100px}.validation-summary{scroll-margin-top:100px}#witness-section{border:0}#new-project-box[hidden]{display:none}

#sync-differences{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;font:inherit;font-size:.8rem}#sync-feedback,.action-feedback{width:100%;overflow-wrap:anywhere}#download-diagnostics{margin-top:1rem}

.person-picker{position:relative;min-width:0}#person-suggestions{position:absolute;top:100%;left:0;right:0;z-index:4;background:#20252c;border:1px solid #66788f;border-radius:6px;max-height:240px;overflow-y:auto}#person-suggestions button{display:block;width:100%;text-align:left;border-radius:0;background:#293748;color:white;white-space:normal;min-height:44px}#person-suggestions button:focus,#person-suggestions button:hover{background:#245b96}

/* Identidade compartilhada com a Gestão de trabalhos; sem alterar armazenamento. */
:root{--blue:#2355a0;--blue-dark:#183d76;--blue-soft:#edf3fd;--text:#24334b;--muted:#768197;--line:#e5e9f1;--surface:#fff;--bg:#f7f9fc;color-scheme:light;background:var(--bg);color:var(--text)}
body{background:var(--bg);color:var(--text)}header{background:var(--surface);border-color:var(--line)}.brand small,p{color:var(--muted)}.brand strong{color:var(--blue-dark)}.card{background:var(--surface);border-color:var(--line);box-shadow:0 2px 4px #1b335003}.badge{background:var(--blue-soft);color:var(--blue-dark)}
input:not([type=checkbox]):not([type=file]),select,textarea{background:var(--surface);color:var(--text);border-color:#dfe5ef}button{background:var(--blue);color:white}button:hover{background:var(--blue-dark)}a{color:var(--blue)}details,.list-item,.room,.photo-item{border-color:var(--line)}
.media-pickers label,.actions a{background:var(--blue-soft);color:var(--blue-dark)}
.inline-status,#notice{background:var(--blue-soft);color:var(--text)}#saved-indicator{color:#177860}.validation-summary{background:#fff2f2;color:#a3363e}
#person-suggestions{background:var(--surface);border-color:var(--line)}#person-suggestions button{background:var(--surface);color:var(--text)}#person-suggestions button:hover,#person-suggestions button:focus{background:var(--blue-soft)}
#inspection-form:not([hidden]){position:fixed;z-index:5;inset:72px 0 0 auto;width:min(900px,100%);margin:0;border-radius:12px 0 0 0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:-10px 0 70px #10234433;padding-bottom:max(2rem,env(safe-area-inset-bottom))}
body:has(#inspection-form:not([hidden])){overflow:hidden}
.editor-heading{position:sticky;top:-1rem;z-index:3;background:var(--surface);padding:.65rem 0;border-bottom:1px solid var(--line);margin-bottom:.7rem}.editor-heading h2{margin:0;font-size:1rem}.editor-heading button{min-width:43px}
#editor-notice:empty{display:none}#editor-notice{background:var(--blue-soft);border-radius:8px;padding:.6rem;overflow-wrap:anywhere}
@media(max-width:600px){#inspection-form:not([hidden]){inset:68px 0 0;width:100%;border-radius:0}.editor-heading{top:-.85rem}}

/* Same spacing and filled actions for inspections on mobile and desktop. */
.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch;gap:.6rem}
.actions button,.actions a,.media-pickers label{background:var(--blue);color:#fff;border:1px solid var(--blue);min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;margin:0}
.actions button:hover,.actions a:hover,.media-pickers label:hover{background:var(--blue-dark);color:#fff}
#inspection-form>button{margin:.35rem .4rem .35rem 0}
.list-item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.list-item>strong,.list-item>p{flex-basis:100%;margin:0}
.list-item>button{flex:0 1 auto;margin:0}
@media(max-width:420px){.actions{grid-template-columns:1fr}.media-pickers label{flex:1}}

.actions[hidden]{display:none}.actions>.action-feedback{grid-column:1/-1}
