.outcomes{max-width:1500px;margin:auto;color:var(--text-primary,#213547);font-size:14px}.outcomes .oc-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0 24px}.outcomes h1{font-size:27px;margin:6px 0}.outcomes h2{font-size:19px;margin-bottom:16px}.outcomes h3{font-size:16px;margin-bottom:12px}.outcomes p{line-height:1.7;margin:8px 0}.outcomes .oc-tabs,.outcomes .oc-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.outcomes .oc-table{overflow:auto}.outcomes table{width:100%;border-collapse:collapse}.outcomes th,.outcomes td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--border,#e0e7ed);vertical-align:top;min-width:110px}.outcomes td:first-child{min-width:180px}.outcomes small{display:block;color:var(--text-muted,#607589);line-height:1.6;margin-top:6px}.outcomes .oc-muted{color:var(--text-muted,#607589)}.outcomes .oc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:18px 0}.outcomes .oc-wide{grid-column:1/-1}.outcomes label{display:flex;flex-direction:column;gap:8px;font-weight:500;margin:12px 0}.outcomes input:not([type=checkbox]),.outcomes select,.outcomes textarea{width:100%;min-height:42px;border:1px solid var(--border,#cad5df);border-radius:6px;padding:10px 12px;background:var(--bg-card,#fff);color:inherit;font:inherit;box-sizing:border-box}.outcomes input[type=checkbox]{width:18px;height:18px}.outcomes fieldset{border:0;padding:0}.outcomes fieldset:disabled{opacity:.7}.outcomes .oc-checks{display:flex;gap:20px;flex-wrap:wrap}.outcomes .oc-checks label{flex-direction:row;align-items:center}.outcomes .oc-box{border:1px solid var(--border,#dae2e8);border-radius:8px;padding:18px;margin:18px 0;background:var(--bg-secondary,#f7f9fb)}.outcomes .oc-ai-row{display:grid;grid-template-columns:2fr 1fr;gap:20px;border-bottom:1px solid var(--border,#dce3e9);padding:14px 0}.outcomes dt{font-weight:600;color:var(--text-muted,#607589);margin:5px 0}.outcomes dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.outcomes .oc-photos{display:flex;gap:10px;flex-wrap:wrap}.outcomes .oc-photos a{display:flex;align-items:center;justify-content:center;width:150px;min-height:110px;max-height:150px;background:var(--bg-secondary,#f1f4f6);border:1px solid var(--border,#cddbe5);border-radius:6px;overflow:hidden}.outcomes .oc-photos img{width:100%;height:120px;object-fit:cover}.outcomes .oc-notice{color:#147a63;overflow-wrap:anywhere}.outcomes .oc-error{color:#c03535}.outcomes .oc-clock{font-size:25px;font-variant-numeric:tabular-nums}.outcomes .oc-toolbar>input{max-width:320px}.outcomes .oc-toolbar>select{max-width:230px}.outcomes .btn{min-height:36px}.outcomes .card{padding:24px}@media(max-width:650px){.outcomes .oc-grid,.outcomes .oc-ai-row{grid-template-columns:1fr}.outcomes .oc-header{align-items:flex-start}.outcomes .card{padding:16px}.outcomes h1{font-size:22px}.outcomes .oc-tabs{gap:6px}.outcomes .oc-photos a{width:130px}}
.outcomes .oc-area-selector{margin:0}.outcomes .oc-area-selector .oc-checks label{border:1px solid var(--border,#dae2e8);border-radius:6px;padding:10px 14px;margin:4px 0;cursor:pointer}.outcomes .oc-area-selector input[type=checkbox]{height:18px;flex:0 0 18px;cursor:pointer;accent-color:var(--primary,#c4661a)}
.outcomes .oc-form-clock{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;border:1px solid #bfded7;border-radius:8px;background:var(--bg-secondary,#f2faf7)}.outcomes .oc-form-clock>div{display:flex;align-items:center;gap:12px}.outcomes .oc-form-clock.running{border-color:#18836c}.outcomes [data-timing] input:read-only{background:var(--bg-secondary,#f7f9fb)}.outcomes [data-timing] button:disabled{opacity:.6;cursor:not-allowed}
.outcomes [data-message-info]:empty{display:none}
.outcomes .oc-message-context{min-width:0}
.outcomes .oc-message-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;max-width:820px;margin:0 auto 22px}
.outcomes .oc-message-task{min-width:0}
.outcomes .oc-message-task>.oc-hazard-photo .oc-photos a{height:300px;min-height:300px;max-height:300px}
.outcomes .oc-message-task>p{margin-bottom:0}
.outcomes .oc-timing-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.outcomes .oc-timing-totals>div{padding:16px;border:1px solid var(--border,#dae2e8);border-radius:8px;background:var(--bg-secondary,#f7f9fb)}
.outcomes .oc-timing-totals>div:last-child{border-color:#bfded7;background:var(--bg-secondary,#f2faf7)}
.outcomes .oc-timing-totals small{margin:0 0 8px}
.outcomes .oc-timing-totals strong{font-size:26px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.outcomes .oc-timing-totals span{font-size:12px;color:var(--text-muted,#607589)}
.outcomes .oc-timing-history{margin-top:14px;overflow-wrap:anywhere}
.outcomes .oc-timing-history>summary{cursor:pointer;line-height:1.7;color:var(--text-muted,#607589)}
.outcomes .oc-timing-history>p{font-size:13px}
@media(max-width:650px){.outcomes .oc-timing-totals{gap:6px}.outcomes .oc-timing-totals>div{padding:12px 8px}.outcomes .oc-timing-totals strong{font-size:22px}.outcomes .oc-message-task>.oc-hazard-photo .oc-photos a{height:240px;min-height:240px;max-height:240px}}
.outcomes td.oc-record-image-cell{min-width:150px;width:180px}.outcomes .oc-record-photos{width:180px;max-width:100%;overflow-x:auto}.outcomes .oc-record-photos .oc-photos{flex-wrap:nowrap;gap:8px}.outcomes .oc-record-photos .oc-photos a{flex:0 0 84px;width:84px;min-height:84px;height:84px;max-height:84px}.outcomes .oc-record-photos .oc-photos img{height:84px}

.outcomes [data-field][hidden]{display:none}
.outcomes .oc-evidence{margin-top:20px;padding-top:10px;border-top:1px solid var(--border,#e0e7ed);font-size:13px;color:var(--text-muted,#607589)}
.outcomes .oc-evidence>summary{cursor:pointer;min-height:32px;line-height:32px}
.outcomes .oc-evidence label{font-weight:400;font-size:13px}
.outcomes .oc-evidence .btn{font-size:12px;padding:6px 10px;background:transparent;color:inherit;border-color:var(--border,#e0e7ed)}
.outcomes .oc-evidence input[type=file]{font-size:12px;padding:8px}
.outcomes .oc-evidence .oc-photos:empty{display:none}
.outcomes .oc-record-groups{display:grid;gap:16px}
.outcomes .oc-record-group{border:1px solid var(--border,#dce3e9);border-radius:10px;background:var(--bg-card,#fff);overflow:hidden}
.outcomes .oc-record-group>summary{padding:20px;cursor:pointer;list-style:none}
.outcomes .oc-record-group>summary::-webkit-details-marker{display:none}
.outcomes .oc-record-group>summary:focus-visible,.outcomes .oc-record-task>summary:focus-visible{outline:2px solid var(--primary,#28796d);outline-offset:-3px}
.outcomes .oc-record-heading{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(270px,1fr);gap:20px;align-items:start}
.outcomes .oc-record-heading strong{font-size:15px;line-height:1.65}
.outcomes .oc-record-identity,.outcomes .oc-record-progress{min-width:0;overflow-wrap:anywhere}
.outcomes .oc-record-identity>small:first-child{margin-top:0;margin-bottom:4px}
.outcomes .oc-record-badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.outcomes .oc-status{display:inline-block;padding:3px 9px;border-radius:5px;font-size:12px;font-weight:500;line-height:1.6}
.outcomes .oc-status-done{background:#eaf5ef;color:#286346}
.outcomes .oc-status-pending{background:#fff3dd;color:#805916}
.outcomes .oc-status-danger{background:#fcebea;color:#a62c2c}
.outcomes .oc-record-disclosure{display:inline-block;color:var(--primary,#286d8a);font-size:13px;line-height:1.7}
.outcomes .oc-record-disclosure:before{content:'▸';display:inline-block;margin-right:6px}
.outcomes .oc-record-group[open]>.oc-record-disclosure:before,.outcomes .oc-record-group[open]>summary .oc-record-disclosure:before{content:'▾'}
.outcomes .oc-record-group .oc-when-open,.outcomes .oc-record-group[open]>summary .oc-when-closed{display:none}
.outcomes .oc-record-group[open]>summary .oc-when-open{display:inline}
.outcomes .oc-record-preview,.outcomes .oc-record-todos{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.outcomes .oc-record-preview{border-top:1px solid var(--border,#e7ebef);padding-top:12px;margin-top:14px}
.outcomes .btn.oc-todo-link{background:var(--bg-secondary,#f6f8fa);border:1px solid var(--border,#dde4eb);color:inherit;font-size:12px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:6px 10px;min-height:34px;max-width:100%;border-radius:5px}
.outcomes .btn.oc-todo-work{color:#a23c2a}
.outcomes .oc-record-finding{font-size:12px;color:var(--text-muted,#607589);overflow-wrap:anywhere}
.outcomes .oc-record-body{padding:0 20px 20px;border-top:1px solid var(--border,#e0e7ed)}
.outcomes .oc-record-pending{padding:16px 0}
.outcomes .oc-record-pending h3{margin:0 0 10px}
.outcomes .oc-record-line{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,2fr) minmax(140px,1fr) auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--border,#e0e7ed);align-items:start;overflow-wrap:anywhere}
.outcomes .oc-record-line strong{font-size:13px}
.outcomes .oc-record-line time{font-size:13px}
.outcomes .oc-record-line>.btn{align-self:start}
.outcomes .oc-record-task{margin-top:14px;border:1px solid var(--border,#dce3e9);border-radius:6px;padding:0 14px}
.outcomes .oc-record-task>summary{padding:14px 0;cursor:pointer;overflow-wrap:anywhere}
.outcomes .oc-record-task>summary .oc-status{margin-left:10px}
@media(max-width:950px){.outcomes .oc-record-heading{grid-template-columns:100px minmax(0,1fr)}.outcomes .oc-record-heading .oc-record-photos{width:100px}.outcomes .oc-record-progress{grid-column:2}.outcomes .oc-record-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.outcomes .oc-record-line>.btn{justify-self:end}}
@media(max-width:650px){.outcomes .oc-record-group>summary{padding:14px}.outcomes .oc-record-body{padding:0 14px 14px}.outcomes .oc-record-heading{grid-template-columns:84px minmax(0,1fr);gap:12px}.outcomes .oc-record-heading .oc-record-photos{width:84px}.outcomes .oc-record-progress{grid-column:1/-1}.outcomes .oc-record-preview{align-items:stretch}.outcomes .oc-record-preview>.oc-muted{width:100%}.outcomes .oc-record-line{gap:10px}.outcomes .oc-record-line>div:first-child{grid-column:1/-1}.outcomes .oc-record-line>div:nth-child(2){grid-column:1/-1}.outcomes .oc-record-task>summary .oc-status{margin-left:0;margin-top:6px}.outcomes .oc-record-todos .btn{width:100%}}
.outcomes .oc-capture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.outcomes .oc-capture-grid .oc-box{margin:0}.outcomes .oc-capture-grid .oc-photos a{flex:1;min-width:100px}.outcomes .oc-capture-actions .btn{min-height:64px;font-size:19px;padding:14px 30px}.outcomes .oc-camera{max-width:720px;background:#18252c;border-radius:12px;padding:12px}.outcomes .oc-camera video{width:100%;max-height:55vh;border-radius:8px;object-fit:contain}.outcomes .oc-inline{display:flex;flex-direction:row;align-items:center}.outcomes [data-flow-album],.outcomes [data-flow-native]{display:none}.outcomes .oc-camera[hidden]{display:none}.outcomes .oc-capture-grid p{overflow-wrap:anywhere}@media(max-width:650px){.outcomes .oc-capture-grid{grid-template-columns:1fr}.outcomes .oc-capture-actions{display:grid;grid-template-columns:1fr 1fr}.outcomes .oc-capture-actions .btn{padding:12px 10px}.outcomes .oc-tabs{position:sticky;top:0;z-index:2;background:var(--bg-card,#fff);padding:8px 0}}
.outcomes .oc-task-cards{margin-top:16px;align-items:start}
.outcomes .oc-photo-task{min-width:0}
.outcomes .oc-task-identity{display:block;font-size:17px;margin:16px 0 10px}
.outcomes .oc-photo-task>.btn{margin:8px 6px 0 0}
.outcomes .oc-hazard-photo{min-width:0}
.outcomes .oc-hazard-photo .oc-photos{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:8px;max-width:100%}
.outcomes .oc-hazard-photo .oc-photos a{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;height:200px;min-height:200px;max-height:200px;scroll-snap-align:start;border-radius:8px;background:#e9edf1}
.outcomes .oc-hazard-photo .oc-photos img{width:100%;height:100%;object-fit:contain}
.outcomes .oc-hazard-photo>small{text-align:center;font-size:12px}
.outcomes .oc-photo-empty{box-sizing:border-box;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;border:1px dashed var(--border,#cbd5df);border-radius:8px;background:var(--bg-secondary,#f1f4f6);color:var(--text-muted,#607589)}
.outcomes .oc-photo-empty span{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.outcomes [data-hazard-picker]{min-width:0;margin:12px 0}
.outcomes [data-hazard-picker]>legend{font-weight:600;margin-bottom:8px}
.outcomes select[data-photo-values]{display:none}
.outcomes .oc-hazard-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:16px;margin:14px 0}
.outcomes .oc-hazard-choice{min-width:0;padding:14px;border:2px solid var(--border,#dae2e8);border-radius:10px;background:var(--bg-card,#fff)}
.outcomes .oc-hazard-choice.is-selected{border-color:var(--primary,#e87917);background:var(--bg-secondary,#fff7ed)}
.outcomes .oc-hazard-choice:focus-within{outline:2px solid var(--primary,#e87917);outline-offset:2px}
.outcomes .oc-hazard-check{display:flex;flex-direction:row;align-items:center;gap:10px;cursor:pointer;margin:14px 0 0;min-height:36px}
.outcomes .oc-hazard-check input{flex-shrink:0;accent-color:var(--primary,#e87917)}
.outcomes .oc-hazard-check span{margin-left:auto;font-size:13px;color:var(--text-muted,#607589)}
.outcomes .is-locked .oc-hazard-check{cursor:default;opacity:.65}
.outcomes .oc-hazard-description{font-size:13px;margin-top:10px;overflow-wrap:anywhere}
.outcomes .oc-hazard-description>summary{cursor:pointer;color:var(--text-muted,#607589)}
@media(max-width:650px){.outcomes .oc-hazard-choices{grid-template-columns:minmax(0,1fr)}.outcomes .oc-hazard-photo .oc-photos a{height:220px;min-height:220px;max-height:220px}.outcomes .oc-photo-empty{min-height:220px}}
.outcomes .oc-header>button{flex-shrink:0;white-space:nowrap}
.outcomes .oc-sync{overflow-wrap:anywhere}
.outcomes .oc-sync details>summary{cursor:pointer;margin:10px 0}
.outcomes .oc-sync article{margin-top:12px}
/* Camera lives in the document's modal layer, independently of the scrolling records. */
.oc-camera-dialog{position:fixed;inset:auto;top:var(--camera-top,0);left:var(--camera-left,0);width:var(--camera-width,100vw);height:100vh;height:var(--camera-height,100dvh);max-width:none;max-height:none;margin:0;border:0;padding:0;background:#071117;color:#fff;overflow:hidden;overscroll-behavior:none;z-index:3000;box-sizing:border-box;font:16px/1.45 system-ui,-apple-system,"Microsoft YaHei",sans-serif}
.oc-camera-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.oc-camera-dialog::backdrop{background:#071117}
.oc-camera-dialog *{box-sizing:border-box}
.oc-camera-dialog [hidden]{display:none!important}
.oc-camera-dialog button{appearance:none;cursor:pointer;font:inherit;color:#fff;border:1px solid #53616a;border-radius:12px;background:#1c2c36;min-width:56px;min-height:44px;padding:8px 14px;touch-action:manipulation}
.oc-camera-dialog button:focus-visible{outline:3px solid #ffb55d;outline-offset:3px}
.oc-camera-dialog button:disabled{cursor:wait;opacity:.45}
.oc-camera-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));background:#101e27}
.oc-camera-header>div{text-align:center}.oc-camera-header strong{font-size:17px}.oc-camera-header [data-camera-count]{display:block;color:#c4d2da;font-size:12px;margin-top:2px}
.oc-camera-private{color:#c4d2da;font-size:12px;min-width:56px;text-align:right}
.oc-camera-preview{position:relative;min-height:0;min-width:0;overflow:hidden;background:#000}
.oc-camera-preview video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.oc-camera-guide{position:absolute;inset:18px;border:1px solid #ffffff30;border-radius:10px;pointer-events:none}
.oc-camera-footer{padding:10px max(20px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#101e27}
.oc-camera-feedback{text-align:center;min-height:28px;margin-bottom:8px}.oc-camera-feedback p{margin:0;font-size:14px;color:#d8f3e7;overflow-wrap:anywhere}.oc-camera-feedback .is-error{color:#ffd2a8}.oc-camera-feedback button{margin-top:6px;min-height:36px;font-size:14px}
.oc-camera-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;max-width:500px;margin:auto}
.oc-camera-last{justify-self:start;text-align:center;max-width:76px;font-size:11px;color:#c4d2da}.oc-camera-last img,.oc-camera-last [data-camera-no-photo]{width:58px;height:58px;object-fit:cover;border:1px solid #677984;border-radius:10px}.oc-camera-last [data-camera-no-photo]{display:grid;place-items:center;background:#1c2c36}.oc-camera-last small{display:block;margin-top:4px;font-size:11px}
.oc-camera-shutter-wrap{text-align:center}.oc-camera-dialog .oc-camera-shutter{display:grid;place-items:center;width:78px;height:78px;min-height:0;min-width:0;padding:5px;border:3px solid #fff;border-radius:50%;background:transparent;margin:auto}.oc-camera-shutter>span{display:block;width:100%;height:100%;border-radius:50%;background:#fff}.oc-camera-dialog .oc-camera-shutter:active>span{background:#f59a38;transform:scale(.9)}
.oc-camera-shutter-wrap>[data-camera-shutter-label]{display:block;font-size:12px;margin-top:6px}.oc-camera-dialog .oc-camera-done{justify-self:end;background:#dc781a;border-color:#f3a24c;font-weight:600}
.oc-camera-footnote{text-align:center;font-size:12px;color:#c4d2da;margin:10px 0 0}
@media(max-height:450px){.oc-camera-header{padding-top:max(5px,env(safe-area-inset-top));padding-bottom:5px}.oc-camera-header button{min-height:36px;padding:5px 12px}.oc-camera-header [data-camera-count]{display:inline;margin-left:10px}.oc-camera-footer{padding-top:5px;padding-bottom:max(7px,env(safe-area-inset-bottom))}.oc-camera-feedback{min-height:20px;margin-bottom:4px}.oc-camera-dialog .oc-camera-shutter{width:60px;height:60px}.oc-camera-shutter-wrap>[data-camera-shutter-label]{margin-top:2px}.oc-camera-last img,.oc-camera-last [data-camera-no-photo]{width:44px;height:44px}.oc-camera-footnote{margin-top:4px}.oc-camera-guide{inset:10px}}
