.vf-dialog{--vf-ink:#253b31;--vf-muted:#697462;--vf-olive:#566f40;--vf-border:#dce1d4;--vf-warm:#f8f8f1;inset:0 0 0 auto;margin:0;width:680px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--vf-border);padding:0;background:var(--vf-warm);color:var(--vf-ink);box-shadow:-12px 0 65px #2335232e;overflow:hidden;font-size:14px}
.vf-dialog::backdrop{background:#20332780;backdrop-filter:blur(3px)}
.vf-dialog #vf-form{height:100%;display:flex;flex-direction:column;margin:0;min-height:0}
.vf-dialog .vf-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:23px 27px 20px;border-bottom:1px solid var(--vf-border);background:#fafbf5;flex-shrink:0}
.vf-dialog .vf-eyebrow{color:#73835e;letter-spacing:1.2px;font-size:10px;font-weight:700;margin:0 0 8px;text-transform:uppercase}
.vf-dialog h2{font-size:25px;line-height:1.2;letter-spacing:-.65px;margin:0;font-weight:700;outline:none}
.vf-dialog .vf-location-name{font-size:15px;font-weight:550;margin:9px 0 0;line-height:1.5;overflow-wrap:anywhere}
.vf-dialog .vf-header>div{min-width:0;overflow-wrap:anywhere}
.vf-dialog .vf-asset-label{font-size:12px;line-height:1.6;color:var(--vf-muted);margin:6px 0 0}
.vf-dialog .vf-location-name>span{display:block;font-size:10px;font-weight:500;color:#7d896d;margin-bottom:1px}
.vf-dialog .vf-close{min-width:44px;width:44px;height:44px;flex-shrink:0;border:1px solid #dce2d2;border-radius:50%;font-size:28px;line-height:1;background:#fff;color:#5b6c4c;display:grid;place-content:center;padding:0}
.vf-dialog .vf-scroll{padding:22px 27px 30px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-gutter:stable}
.vf-dialog .vf-intro{font-size:14px;line-height:1.65;color:var(--vf-muted);margin:0 0 18px}
.vf-dialog .vf-all-fields{padding:0;margin:0;border:0;min-width:0}
.vf-dialog .vf-section{padding:23px 0 0;margin:22px 0 0;border-top:1px solid var(--vf-border);min-width:0}
.vf-dialog .vf-section:first-of-type{padding-top:0;margin-top:20px;border-top:0}
.vf-dialog h3{font-size:16px;letter-spacing:-.2px;line-height:1.5;margin:0 0 11px;font-weight:650}
.vf-dialog .vf-section h3 label{font-size:inherit;margin:0;color:inherit}
.vf-dialog label{font-size:12px;line-height:1.5;font-weight:600;color:#4a5d40;display:block;margin:14px 0 6px}
.vf-dialog .vf-two-columns{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:16px}
.vf-dialog .vf-two-columns label{margin-top:0}
.vf-dialog input:not([type=checkbox]):not([type=file]),.vf-dialog select,.vf-dialog textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:46px;border:1px solid #cfd8c5;border-radius:8px;padding:11px 12px;background:#fff;color:var(--vf-ink);font:inherit;font-size:16px;line-height:1.4;box-shadow:none}
.vf-dialog select{padding-right:32px}
.vf-dialog textarea{resize:vertical;min-height:83px}
.vf-dialog input::placeholder,.vf-dialog textarea::placeholder{color:#909986;opacity:1;font-size:14px}
.vf-dialog input:focus-visible,.vf-dialog select:focus-visible,.vf-dialog textarea:focus-visible,.vf-dialog button:focus-visible,.vf-dialog summary:focus-visible,#field-pending button:focus-visible,#field-pending summary:focus-visible{outline:3px solid #b4a26d;outline-offset:3px}
.vf-dialog input[aria-invalid=true],.vf-dialog textarea[aria-invalid=true],.vf-dialog select[aria-invalid=true]{border-color:#ad543f}
.vf-dialog .vf-hint{font-size:12px;line-height:1.6;color:var(--vf-muted);margin:8px 0 11px}
.vf-dialog .vf-optional-label{font-size:11px;font-weight:500;color:#7d866f;margin-left:7px;letter-spacing:0}
.vf-dialog .vf-equipment-list{display:grid;gap:15px;margin-top:17px}
.vf-dialog .vf-equipment{min-width:0;margin:0;padding:15px 17px 18px;border:1px solid #d6ddcd;border-radius:11px;background:#fff}
.vf-dialog .vf-equipment legend{max-width:100%;font-size:15px;font-weight:700;color:#334b2c;padding:0 6px;overflow-wrap:anywhere;line-height:1.6}
.vf-dialog .vf-previous{font-size:11px;line-height:1.7;color:#6e7c63;margin:0 0 8px;overflow-wrap:anywhere;white-space:pre-line}
.vf-dialog .vf-previous strong{font-weight:650}
.vf-dialog .vf-check-more{padding-top:1px}
.vf-dialog .vf-equipment .vf-reconcile-hint{padding:12px;border-radius:7px;background:#f2f4e9;color:#6e754b;margin-top:14px}
.vf-dialog .vf-optional{background:#f7f8f1;border:1px solid #e5e9dd;border-radius:8px;margin-top:14px;padding:0 12px}
.vf-dialog .vf-optional[open]{padding-bottom:14px}
.vf-dialog summary{cursor:pointer;min-height:44px;padding:12px 1px;font-size:12px;line-height:1.7;color:#4e663e;font-weight:600}
.vf-dialog .vf-optional summary span{font-size:11px;font-weight:400;color:#829073;margin-left:8px}
.vf-dialog .vf-source{padding:0 12px;background:#edf1e5;border:1px solid #e0e6d6;border-radius:8px}
.vf-dialog .vf-source p{font-size:12px;line-height:1.7;color:#6d7c61;margin:0 0 13px;overflow-wrap:anywhere;white-space:pre-line}
.vf-dialog .vf-source p strong{color:#4e6541}
.vf-dialog .vf-button,#field-pending .vf-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:8px;padding:11px 16px;border:1px solid transparent;font:inherit;font-size:13px;font-weight:650;line-height:1.5;text-align:center;white-space:normal;cursor:pointer;touch-action:manipulation}
.vf-dialog .vf-button:disabled,#field-pending .vf-button:disabled{opacity:.55;cursor:not-allowed}
.vf-dialog .vf-primary{background:#4e683c;color:white;border-color:#4e683c}
.vf-dialog .vf-primary:hover{background:#3d562c}
.vf-dialog .vf-secondary,#field-pending .vf-secondary{border-color:#d5deca;background:white;color:#4f653f}
.vf-dialog .vf-secondary:hover,#field-pending .vf-secondary:hover{background:#f0f4e9}
.vf-dialog .vf-text-button,#field-pending .vf-text-button{background:transparent;color:#536d42;border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding:10px 6px}
.vf-dialog .vf-photo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}
.vf-dialog .vf-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}
.vf-dialog .vf-photo{min-width:0;margin:0;padding:0 0 12px;border:1px solid #dce2d4;border-radius:9px;background:#fff;overflow:hidden}
.vf-dialog .vf-photo-preview{position:relative;background:#edf0e7;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.vf-dialog .vf-photo img{display:block;width:100%;height:100%;object-fit:contain}
.vf-dialog .vf-preview-unavailable{padding:13px;color:#7b826f;font-size:12px;line-height:1.7;text-align:center}
.vf-dialog .vf-photo-remove{position:absolute;right:6px;top:6px;min-width:44px;width:44px;min-height:44px;height:44px;border:1px solid #dce0d5;border-radius:50%;background:#fffffff0;color:#596c49;font-size:27px;line-height:1;display:grid;place-content:center;box-shadow:0 1px 4px #28352222}
.vf-dialog .vf-photo figcaption{padding:9px 11px 0}
.vf-dialog .vf-photo-filename{display:block;font-size:10px;color:#829074;overflow-wrap:anywhere;line-height:1.6}
.vf-dialog .vf-photo label{font-size:11px;margin-top:8px}
.vf-dialog .vf-photo input{font-size:14px!important}
.vf-dialog .vf-location-result{margin-top:14px;padding:14px 15px;background:#eef2e6;border:1px solid #dce4d2;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.vf-dialog .vf-location-result p{margin:0;color:#607552;font-size:12px;line-height:1.8}
.vf-dialog .vf-location-result strong{color:#415d32}
.vf-dialog .vf-gps-help{margin:10px 0 14px;padding:13px 15px;background:#fff7e7;border:1px solid #e7d4a8;border-radius:8px;color:#634c24;font-size:13px;line-height:1.6}
.vf-dialog .vf-gps-help ol{padding-left:19px;margin:8px 0}
.vf-dialog .vf-gps-help li+li{margin-top:7px}
.vf-dialog .vf-gps-help a{color:inherit;font-weight:650;text-underline-offset:3px}
.vf-dialog .vf-gps-help[hidden],.vf-dialog #vf-gps-cancel[hidden]{display:none}
.vf-dialog .vf-asset-current-location{display:flex;flex-direction:column;gap:4px;border:1px solid #dce4d2;background:#f0f3e9;border-radius:8px;padding:12px 14px;overflow-wrap:anywhere}
.vf-dialog .vf-asset-current-location>span{font-size:10px;color:#7b896a;line-height:1.5}
.vf-dialog .vf-asset-current-location>strong{font-size:13px;font-weight:650;color:#48613b;line-height:1.7}
.vf-dialog .vf-asset-current-location>small{font-size:11px;color:#7b896a;line-height:1.6}
.vf-dialog .vf-confirm-location{max-width:100%;text-align:left;justify-content:flex-start;overflow-wrap:anywhere;font-size:12px;margin-top:4px;padding-left:0}
.vf-dialog .vf-equipment-gps{width:100%;margin-top:2px}
.vf-dialog .vf-manual-enable{width:100%;margin-top:10px}
.vf-dialog .vf-manual-location{margin-top:14px;padding:15px;border:1px solid #dfd1af;border-radius:9px;background:#fcf8ee}
.vf-dialog .vf-manual-label{font-size:13px;line-height:1.65;color:#765d2e;margin:0 0 10px}
.vf-dialog .vf-manual-coordinates{margin-top:16px}
.vf-dialog .vf-manual-paste-button,.vf-dialog .vf-manual-map-toggle{width:100%;margin-top:10px}
.vf-dialog .vf-manual-map{height:300px;min-height:240px;width:100%;max-width:100%;border:1px solid #d8dbc9;border-radius:8px;overflow:hidden;background:#edf0e7;isolation:isolate;z-index:0}
.vf-dialog .vf-manual-map .leaflet-control-attribution{font-size:9px;line-height:1.4;max-width:100%;white-space:normal}
.vf-dialog #vf-manual-status{font-weight:600;color:#765d2e;overflow-wrap:anywhere}
.vf-dialog #vf-manual-mode[hidden],.vf-dialog #vf-gps-mode[hidden],.vf-dialog #vf-manual-enable[hidden],.vf-dialog #vf-manual-map-wrap[hidden],.vf-dialog #vf-manual-conflict[hidden],.vf-dialog #vf-manual-map-error[hidden]{display:none}
.vf-dialog .vf-location-effect{padding:10px 12px;border-radius:7px;background:#f0f2e8;margin-top:12px}
.vf-dialog .vf-asset-equipment{min-width:0;margin:0;padding:15px 17px 16px;border:1px solid #d6ddcd;border-radius:10px;background:#fff}
.vf-dialog .vf-asset-equipment>label:first-child{margin-top:0}
.vf-dialog .vf-asset-equipment>.vf-sr-only+label{margin-top:0}
.vf-dialog .vf-presence-note{font-size:12px;line-height:1.7;padding:12px 14px;background:#fbf1dd;border:1px solid #ecdcba;color:#806332;border-radius:8px;margin:14px 0 0;overflow-wrap:anywhere}
.vf-dialog .vf-position-confirmation{align-items:flex-start;line-height:1.6;padding:12px 0;overflow-wrap:anywhere}
.vf-dialog .vf-position-confirmation input{margin-top:2px}
.vf-dialog .vf-checkbox{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;padding:8px 0;font-size:13px}
.vf-dialog .vf-checkbox input{width:22px;height:22px;flex-shrink:0;accent-color:#5c753f}
.vf-dialog .vf-footer{flex-shrink:0;border-top:1px solid var(--vf-border);background:#fafbf5;padding:13px 27px max(18px,env(safe-area-inset-bottom));box-shadow:0 -5px 18px #31442105}
.vf-dialog .vf-footer p{font-size:11px;color:#78846a;line-height:1.5;margin:0 0 10px}
.vf-dialog .vf-footer-actions{display:flex;justify-content:flex-end;gap:10px}
.vf-dialog .vf-footer-actions .vf-primary{min-width:170px}
.vf-dialog .vf-notice,.vf-dialog .vf-warning,.vf-dialog .vf-error,#field-pending .vf-warning{border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.7;margin:0 0 15px;overflow-wrap:anywhere}
.vf-dialog .vf-notice{background:#edf2e6;color:#5b7249;border:1px solid #dce6d1}
.vf-dialog .vf-notice-pending{background:#fbf4e3;color:#826b35;border-color:#e9d9ad}
.vf-dialog .vf-warning,#field-pending .vf-warning{background:#fff3de;color:#876729;border:1px solid #ecd39f}
.vf-dialog .vf-error{background:#fff0e9;color:#934d39;border:1px solid #eccbbc}
.vf-dialog .vf-photo-error{font-size:12px;line-height:1.7;color:#9a503e;padding:10px 0;margin:0}
.vf-dialog .vf-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vf-dialog .vf-maintenance{margin-top:18px;border-top:1px solid #e0e6d6;padding-top:4px}
.vf-dialog .vf-maintenance>summary{font-size:13px;min-height:48px;padding-block:13px}
.vf-dialog .vf-maintenance>summary small{display:block;margin-left:17px;color:#869173;font-size:11px;font-weight:400;line-height:1.6}
.vf-dialog .vf-maint-reading{display:flex;flex-direction:column;gap:5px;background:#f1f5e9;border:1px solid #dfe7d4;border-radius:8px;padding:12px 13px;color:#516740;overflow-wrap:anywhere}
.vf-dialog .vf-maint-reading strong{font-size:11px;line-height:1.6;font-weight:650}
.vf-dialog .vf-maint-reading span{font-size:13px;font-weight:600;line-height:1.7}
.vf-dialog .vf-maint-plan{font-size:11px;color:#7a866b;line-height:1.8;margin:10px 1px 13px;overflow-wrap:anywhere}
.vf-dialog .vf-maint-plan strong{color:#63774e;font-weight:650}
.vf-dialog .vf-maint-toggle{margin-block:12px 0}
.vf-dialog .vf-maint-active{padding-top:1px}
.vf-dialog .vf-maint-active input[readonly]{background:#f2f4ed;color:#6c785e}
.vf-dialog .vf-maint-values{min-width:0;margin:0;padding:0;border:0}
.vf-dialog .vf-maint-instruction{font-size:11px;line-height:1.7;color:#7c876d;padding:11px 12px;margin:12px 0 4px;border-radius:7px;background:#f6f7f0}
.vf-dialog .vf-maint-field{min-width:0}
.vf-dialog .vf-maint-field>.vf-hint{font-size:11px;margin-top:6px}
.vf-dialog .vf-maint-cleared{font-size:11px;line-height:1.6;color:#956332;margin:5px 0;display:flex;flex-wrap:wrap;gap:3px;align-items:center}
.vf-dialog .vf-maint-cleared .vf-button{font-size:11px;min-height:44px;padding:8px}
.vf-dialog .vf-maint-warning{font-size:11px;line-height:1.7;padding:11px 12px;background:#fbf1dd;border:1px solid #ecdcba;color:#8a6e32;border-radius:7px;margin:10px 0}
.vf-dialog .vf-maint-clear .vf-button{margin-top:12px;width:100%;font-size:12px}
.vf-dialog .vf-maint-extra .vf-two-columns{margin-top:12px}
#field-pending{margin:0 0 22px}
#field-pending .vf-pending-panel{border:1px solid #e2d9bd;border-radius:10px;background:#fcf9ed;padding:0 17px;color:#74663c}
#field-pending summary{cursor:pointer;min-height:52px;line-height:1.6;padding:14px 0;font-size:13px;font-weight:650}
#field-pending summary strong{display:inline-grid;place-content:center;min-width:23px;height:23px;margin-left:5px;border-radius:6px;background:#e9dfbd;font-size:12px}
#field-pending summary small{display:block;font-size:11px;font-weight:400;color:#96845a;margin:5px 0 0 16px}
#field-pending .vf-pending-content{border-top:1px solid #e7dfc8;padding:12px 0}
#field-pending .vf-pending-content>p{font-size:12px;line-height:1.7;margin:0 0 12px;color:#88794e}
#field-pending ul{list-style:none;padding:0;margin:12px 0 0}
#field-pending li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid #eae3d0}
#field-pending li>div{min-width:0;flex:1}
#field-pending li strong{font-size:12px;display:block;line-height:1.6;color:#655c3b}
#field-pending li span,#field-pending li small{display:block;font-size:11px;line-height:1.7;color:#99835a;margin-top:3px;overflow-wrap:anywhere}
#field-pending .vf-draft-list{padding:12px 0}
#field-pending .vf-draft-list p{font-size:12px;margin:0 0 7px;color:#7d795b}
#field-pending .vf-draft-list button{margin:0 10px 0 0;font-size:12px;text-align:left}
#field-pending .vf-warning{margin:12px 0}
@media(max-width:640px){.vf-dialog{width:100vw;border:0}.vf-dialog .vf-header{padding:18px 18px 14px}.vf-dialog h2{font-size:23px}.vf-dialog .vf-location-name{font-size:14px;margin-top:7px}.vf-dialog .vf-scroll{padding:16px 18px 24px;scrollbar-gutter:auto}.vf-dialog .vf-two-columns{grid-template-columns:1fr;gap:15px}.vf-dialog .vf-equipment{padding:13px 13px 16px}.vf-dialog .vf-equipment legend{font-size:14px}.vf-dialog .vf-section{margin-top:20px;padding-top:21px}.vf-dialog .vf-footer{padding:12px 18px max(15px,env(safe-area-inset-bottom))}.vf-dialog .vf-footer-actions .vf-primary{flex:1;min-width:0}.vf-dialog .vf-photos{gap:10px}.vf-dialog .vf-photo figcaption{padding:8px}.vf-dialog .vf-location-result{align-items:flex-start;flex-direction:column;gap:2px}.vf-dialog .vf-location-result .vf-text-button{padding-left:0}.vf-dialog .vf-photo input{font-size:16px!important}.vf-dialog .vf-photo-actions .vf-button{flex:1}}
@media(max-width:360px){.vf-dialog .vf-photos{grid-template-columns:1fr}.vf-dialog .vf-header{gap:10px}.vf-dialog .vf-scroll{padding-inline:14px}.vf-dialog .vf-footer{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.vf-dialog *{scroll-behavior:auto!important}}
html:has(.vf-dialog[open]){overflow:hidden}
@media(max-width:640px){.vf-dialog{width:100%;max-width:100%}}
