:root{--color-primary:#0ea5e9;--color-primary-dark:#0284c7;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#dc2626;--color-info:#3b82f6;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-text-light:#fff;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-bg-dark:#111827;--color-border-light:#e5e7eb;--color-border-medium:#d1d5db;--color-border-dark:#9ca3af;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.15);--shadow-md:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.2),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.2),0 8px 10px -6px rgba(0,0,0,.1);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-size-xs:0.875rem;--font-size-sm:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--z-dropdown:1000;--z-sticky:1010;--z-fixed:1020;--z-modal-backdrop:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060;--z-toast:1070}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{font-family:var(--font-inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-overflow-scrolling:touch;scroll-behavior:smooth}:focus{outline:3px solid var(--color-primary);outline-offset:2px}.js-focus-visible :focus:not(.focus-visible){outline:none}::selection{background-color:var(--color-primary);color:var(--color-text-light)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-4)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}h5{font-size:var(--font-size-sm)}h6{font-size:var(--font-size-xs)}p{margin-bottom:var(--space-4);line-height:var(--line-height-normal)}b,strong{font-weight:600;color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none;font-weight:500;transition:all .2s ease-in-out}a:focus,a:hover{color:var(--color-primary-dark);text-decoration:underline}ol,ul{margin-bottom:var(--space-4);padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}code{font-size:.875em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}code,pre{font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,monospace;background-color:var(--color-bg-tertiary)}pre{font-size:var(--font-size-xs);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-light);overflow-x:auto;margin-bottom:var(--space-4)}canvas,img,svg,video{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none;padding:0}input,select,textarea{font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}td,th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-light)}th{font-weight:600;background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.touch-target{min-height:var(--space-12);min-width:var(--space-12)}.high-contrast{color:var(--color-text-primary);font-weight:600}.construction-alert{background-color:var(--color-warning);color:var(--color-text-primary);border-radius:var(--radius-md);border:2px solid var(--color-warning)}.compliance-critical,.construction-alert{padding:var(--space-4);font-weight:600;margin-bottom:var(--space-4)}.compliance-critical{background-color:var(--color-danger);color:var(--color-text-light);border-radius:var(--radius-md)}.outdoor-visible{text-shadow:0 1px 2px rgba(0,0,0,.1);font-weight:600}@media (max-width:768px){html{font-size:18px}.touch-target{min-height:56px;min-width:56px}body{padding:var(--space-2)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}@media (prefers-contrast:high){:root{--color-text-primary:#000;--color-bg-primary:#fff;--color-border-light:#000}button,input,select,textarea{border:2px solid var(--color-text-primary)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.4}h1,h2,h3{page-break-after:avoid}img{max-width:100%!important;page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}.no-print{display:none!important}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm);border:2px solid var(--color-bg-tertiary)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.construction-form{padding:var(--space-6);border:2px solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background-color:var(--color-bg-primary)}.construction-button{min-height:var(--space-12);min-width:var(--space-12);font-weight:600;font-size:var(--font-size-md);border:2px solid transparent;transition:all .2s ease-in-out}.construction-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.construction-button:active{transform:translateY(0)}.offline-banner{background:linear-gradient(135deg,var(--color-warning),#fbbf24);color:var(--color-text-primary);padding:var(--space-3);font-weight:600;text-align:center;position:sticky;top:0;z-index:var(--z-sticky);border-bottom:2px solid var(--color-warning)}.sync-indicator{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-toast);background:var(--color-bg-primary);border:2px solid var(--color-border-medium);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-lg)}.weather-alert{background:linear-gradient(135deg,var(--color-danger),#f87171);color:var(--color-text-light);padding:var(--space-4);border-radius:var(--radius-lg);font-weight:600;margin-bottom:var(--space-4);border:2px solid var(--color-danger);animation:pulse 2s ease-in-out infinite}.mobile-optimized{--touch-target-size:48px}.mobile-optimized button,.mobile-optimized input,.mobile-optimized select,.mobile-optimized textarea{min-height:var(--touch-target-size);font-size:16px}.mobile-optimized input[type=date],.mobile-optimized input[type=email],.mobile-optimized input[type=number],.mobile-optimized input[type=tel],.mobile-optimized input[type=text],.mobile-optimized input[type=time],.mobile-optimized select,.mobile-optimized textarea{padding:12px 16px;border:2px solid var(--color-border-medium);border-radius:var(--radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);width:100%}.mobile-optimized input:focus,.mobile-optimized select:focus,.mobile-optimized textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.mobile-optimized label{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2);display:block;font-size:var(--font-size-sm)}@media (hover:none){.mobile-optimized button:hover{background-color:inherit}.mobile-optimized button:active{transform:scale(.98);transition:transform .1s ease-in-out}}@media (max-width:768px){.mobile-optimized{padding:0}.mobile-optimized .form-section{padding:var(--space-4);border-bottom:1px solid var(--color-border-light)}.mobile-optimized button{min-height:56px;padding:var(--space-4) var(--space-6);font-size:var(--font-size-md)}.mobile-optimized .form-row{flex-direction:column;gap:var(--space-4)}}.mobile-optimized .photo-capture-button{min-height:var(--touch-target-size);min-width:var(--touch-target-size);background-color:var(--color-primary);color:var(--color-text-light);border:none;border-radius:var(--radius-md);font-weight:600;padding:var(--space-4) var(--space-6);cursor:pointer;transition:all .2s ease-in-out}.mobile-optimized .photo-capture-button:active{background-color:var(--color-primary-dark);transform:scale(.98)}.mobile-optimized .signature-pad{min-height:200px;border:2px solid var(--color-border-medium);border-radius:var(--radius-md);background-color:var(--color-bg-primary);touch-action:none}.mobile-optimized .gps-button{min-height:var(--touch-target-size);background-color:var(--color-info);font-weight:600;padding:var(--space-3) var(--space-5)}.mobile-optimized .form-submit-button,.mobile-optimized .gps-button{color:var(--color-text-light);border:none;border-radius:var(--radius-md)}.mobile-optimized .form-submit-button{min-height:56px;width:100%;background-color:var(--color-success);font-weight:700;font-size:var(--font-size-lg);padding:var(--space-4);margin-top:var(--space-6)}.mobile-optimized .form-draft-button{min-height:var(--touch-target-size);width:100%;background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);font-weight:600;padding:var(--space-3);margin-top:var(--space-3)}.desktop-view{padding:24px;background-color:#f7fafc}.desktop-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:1024px;margin:0 auto 16px;padding:12px 24px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.toolbar-shortcuts{display:flex;gap:16px}.shortcut-hint{font-size:14px;color:#718096;padding:4px 8px;background-color:#edf2f7;border-radius:4px;font-family:Courier New,monospace}.print-button{padding:8px 16px;background-color:#4299e1;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.print-button:hover{background-color:#3182ce}.desktop-view input[type=number],.desktop-view input[type=text],.desktop-view textarea{padding:8px 12px;font-size:14px}.desktop-view button{min-height:36px;min-width:80px}@media print{.desktop-toolbar,.print-button,.shortcut-hint{display:none}.desktop-view{padding:0;background-color:#fff}.form-section{page-break-inside:avoid}}@media (min-width:1024px){.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field.full-width{grid-column:1/-1}}@media print{.back-button,.mantine-AppShell-aside,.mantine-AppShell-header,.mantine-AppShell-navbar,.mantine-Notifications-root,.no-print,.print-button,[role=navigation],button,header,nav{display:none!important}body{margin:0;padding:20px;background:#fff!important;color:#000!important;font-size:11pt}.mantine-AppShell-main,main{margin:0!important;padding:0!important}h1,h2,h3{color:#000!important;page-break-after:avoid;margin-top:8pt;margin-bottom:6pt}h1{font-size:18pt;border-bottom:2pt solid #000;padding-bottom:4pt}h1,h2{font-weight:700}h2{font-size:14pt}h3{font-size:12pt;font-weight:700}.mantine-Badge-root,.status-badge,[data-badge]{border:1px solid #000!important;padding:2pt 6pt!important;border-radius:3pt!important;font-weight:700!important;background:#fff!important;color:#000!important}.mantine-Paper-root,.submission-metadata{border:1pt solid #ccc!important;padding:8pt!important;margin-bottom:12pt!important;background:#fff!important;page-break-inside:avoid}.form-section,.mantine-Stack-root{margin-bottom:16pt;page-break-inside:avoid}.form-section+.form-section{margin-top:12pt;padding-top:12pt;border-top:1pt solid #ddd}.field-label{font-weight:700;margin-bottom:4pt;color:#333!important}.field-value{margin-bottom:12pt;color:#000!important}img{max-width:100%!important;height:auto!important;page-break-inside:avoid;border:1pt solid #ccc;padding:4pt;margin:8pt 0}.photo-image,.signature-image{max-width:400px!important;display:block;margin:8pt 0}table{width:100%;border-collapse:collapse;margin-bottom:16pt;page-break-inside:auto}thead{display:table-header-group}tfoot{display:table-footer-group}tr{page-break-inside:avoid;page-break-after:auto}td,th{border:1pt solid #ccc!important;padding:6pt!important;text-align:left;color:#000!important}th{background:#f5f5f5!important;font-weight:700}div,label,p,span{color:#000!important}*{box-shadow:none!important;text-shadow:none!important}.mantine-Card-root,.mantine-Paper-root{box-shadow:none!important;border:1pt solid #ddd!important}.mantine-Grid-root,.mantine-SimpleGrid-root{display:block!important}.mantine-Grid-col,.mantine-SimpleGrid-root>*{page-break-inside:avoid;margin-bottom:12pt}.print-only{display:block!important}.screen-only{display:none!important}.page-break-before{page-break-before:always}.page-break-after{page-break-after:always}.page-break-avoid{page-break-inside:avoid}.submission-header{margin-bottom:16pt;padding-bottom:8pt;border-bottom:2pt solid #000}.submission-actions{display:none!important}.form-data-section{margin-bottom:16pt}.form-data-section h2{background:#f0f0f0!important;padding:6pt;margin-bottom:8pt}.form-field-row{margin-bottom:8pt;padding-left:12pt}.gps-coordinates,.timestamp-info{font-size:9pt;color:#666!important;font-family:monospace}.compliance-section{border:2pt solid #000!important;padding:12pt!important;margin:16pt 0!important}.compliance-critical{background:#ffebee!important;border:2pt solid #c62828!important}@page{margin:1cm;@bottom-right{content:"Page " counter(page) " of " counter(pages)}}li,p{orphans:3;widows:3}a[href^=http]:after{content:" (" attr(href) ")";font-size:9pt;font-style:italic}.desktop-view.min-h-screen,.mobile-view{min-height:auto!important;height:auto!important}.mantine-Container-root{padding-top:0!important;padding-bottom:0!important}.mantine-Stack-root{gap:8pt!important}.desktop-view>.mantine-Container-root>.mantine-Stack-root>div:first-child{page-break-after:avoid!important;margin-bottom:6pt!important}.mantine-Title-root{margin-bottom:2pt!important;font-size:16pt!important}.bg-white.rounded-lg.shadow-sm.p-6{padding:8pt!important;box-shadow:none!important;border:1pt solid #ddd!important;page-break-before:avoid!important}.mantine-Paper-root[role=main],form.mantine-Paper-root{padding:8pt!important;box-shadow:none!important;border:none!important;max-width:100%!important;margin:0!important}.mantine-InputWrapper-root{margin-bottom:6pt!important}.mantine-InputWrapper-label{font-size:9pt!important;font-weight:700!important;margin-bottom:2pt!important}.mantine-Input-input,.mantine-NumberInput-input,.mantine-Select-input,.mantine-TextInput-input,.mantine-Textarea-input{font-size:10pt!important;padding:4pt 6pt!important;min-height:auto!important;border:1pt solid #ccc!important}.mantine-Checkbox-root,.mantine-Radio-root{margin-bottom:4pt!important}.mantine-Checkbox-label,.mantine-Radio-label{font-size:10pt!important}.mantine-InputWrapper-root:has(.photo-upload),.mantine-InputWrapper-root:has(.signature-canvas){page-break-inside:avoid!important}.field-group,.form-section{page-break-inside:avoid!important}.mantine-Button-root{display:none!important}form .mantine-Stack-root:last-child:has(.mantine-Button-root){display:none!important}}