:root{color:#132c3f;letter-spacing:0;text-rendering:optimizelegibility;--ink:#132c3f;--muted:#536c7d;--line:#c9dbe4;--soft-line:#dce9ef;--panel:#fff;--page:#edf5f8;--field:#fbfcfd;--brand:#01395c;--brand-dark:#002b45;--brand-bright:#05aed6;--brand-pale:#a4dcea;--accent:#f0a526;--danger:#b42318;--success:#17623a;--shadow:0 18px 48px #01395c24;background:#edf5f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html{background:var(--page);min-height:100%}body{min-height:100%;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-shell{background:linear-gradient(180deg, #05aed62e, #edf5f800 300px), var(--page);min-height:100vh;padding:24px 16px 48px}.form-shell{width:min(1040px,100%);margin:0 auto}.form-header{box-shadow:var(--shadow);background:#ffffffd6;border:1px solid #ffffffb3;border-radius:8px;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:14px;padding:12px 16px;display:grid}.brand-logo{width:132px;max-width:100%;height:auto;display:block}.eyebrow{color:#31536a;text-transform:uppercase;margin:0 0 5px;font-size:.7rem;font-weight:800}h1{color:var(--brand);margin:0;font-size:clamp(1.65rem,4vw,2.55rem);line-height:1}h2{color:#17232b;margin:0;font-size:1.08rem;line-height:1.2}.header-badge{color:#734b00;background:#fff8e8;border:1px solid #f1c369;border-radius:999px;flex:none;padding:8px 13px;font-size:.78rem;font-weight:800}.form-section{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:0 0 16px;padding:18px;box-shadow:inset 0 1px #ffffffd9}.project-section{border-top:4px solid var(--brand-bright)}.section-heading{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:baseline;gap:14px;margin:0 0 16px;padding-bottom:12px;display:flex}.section-heading span{color:var(--muted);font-size:.88rem;font-weight:650}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.field,.choice-field{gap:7px;display:grid}.field span,.choice-field legend{color:#25333c;font-size:.92rem;font-weight:750}.span-2{grid-column:1/-1}.date-row{grid-template-columns:minmax(0,1fr) 46px;gap:8px;display:grid;position:relative}.category-picker,.voice-field{position:relative}.voice-field textarea{padding-right:58px}.photo-upload{border:1px solid var(--soft-line);background:#f7fafb;border-radius:7px;gap:10px;padding:12px;display:grid}.photo-auth{background:#fff;border:1px solid #d5e2e7;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.photo-auth strong{color:var(--ink);margin-bottom:2px;font-size:.92rem;display:block}.photo-auth .field-hint{margin:0}.photo-auth-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.secondary-button{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:7px;min-height:38px;padding:8px 12px;font-weight:800}.secondary-button:hover,.secondary-button:focus-visible{background:var(--brand-dark);outline:3px solid #05aed629}.secondary-button.quiet{color:var(--brand);background:#fff}.secondary-button.quiet:hover,.secondary-button.quiet:focus-visible{background:#edf5f8}.photo-picker{background:var(--brand);color:#fff;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;width:fit-content;min-height:42px;padding:10px 14px;font-weight:800;display:inline-flex}.photo-picker span{color:#fff}.photo-picker:hover,.photo-picker:focus-within{background:var(--brand-dark);outline:3px solid #05aed629}.photo-picker input{opacity:0;width:1px;height:1px;position:absolute}.photo-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.photo-list li{border:1px solid var(--soft-line);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.photo-list button{color:var(--brand);background:#edf5f8;border:0;border-radius:6px;padding:7px 9px;font-weight:800}input[type=date],input[type=search],input[type=text],select,textarea{background:var(--field);width:100%;min-width:0;color:var(--ink);border:1px solid #bac8cf;border-radius:7px;outline:3px solid #0000;padding:11px 12px;transition:border-color .14s,background-color .14s,box-shadow .14s,outline-color .14s;box-shadow:0 1px 1px #16222a08}select{appearance:auto}input[type=date],input[type=search],input[type=text],textarea{appearance:none}.date-picker-button{width:46px;min-width:46px;height:46px;color:var(--brand);background:#fff;border:1px solid #bac8cf;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-picker-button:hover,.date-picker-button:focus{border-color:var(--brand-bright);box-shadow:none;background:#f4fbfe;outline:3px solid #05aed629}.date-picker-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25px;flex:none;width:22px;height:22px;display:block}.voice-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;flex:none;width:19px;height:19px;display:block}.voice-wave{justify-content:center;align-items:center;gap:2px;width:22px;height:22px;display:none}.voice-wave i{background:currentColor;border-radius:999px;width:3px;height:8px;animation:.82s ease-in-out infinite voice-wave;display:block}.voice-wave i:nth-child(2){animation-delay:.1s}.voice-wave i:nth-child(3){animation-delay:.2s}.voice-wave i:nth-child(4){animation-delay:.3s}.native-date-picker{opacity:0;pointer-events:none;border:0;width:1px;min-width:0;height:1px;padding:0;position:absolute;bottom:0;right:0}input[type=date]:hover,input[type=search]:hover,input[type=text]:hover,select:hover,textarea:hover{background:#fff;border-color:#80929b}input[type=date]:focus,input[type=search]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:var(--brand-bright);background:#fff;outline-color:#05aed62e;box-shadow:0 0 0 1px #05aed680}input:required:invalid,select:required:invalid,textarea:required:invalid{border-color:#b98a52}[aria-invalid=true]{border-color:var(--danger)!important}.field-error{min-height:18px;color:var(--danger);font-size:.86rem;font-weight:750}.field-hint{color:var(--muted);margin:0;font-size:.88rem;font-weight:650}textarea{resize:vertical;min-height:112px}.search-row{position:relative}.search-row:before{content:"";pointer-events:none;border:2px solid #667780;border-radius:50%;width:13px;height:13px;position:absolute;top:50%;left:13px;transform:translateY(-58%)}.search-row:after{content:"";pointer-events:none;background:#667780;border-radius:2px;width:7px;height:2px;position:absolute;top:calc(50% + 7px);left:25px;transform:rotate(45deg)}#project-search{padding-left:38px}.category-results{z-index:20;border:1px solid var(--line);background:#fff;border-radius:7px;gap:4px;max-height:286px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 34px #01395c2e}.category-results:empty{display:none}button[type=button],button[type=submit]{color:#fff;background:var(--brand);border:0;border-radius:7px;padding:12px 18px;font-weight:800;transition:background-color .14s,transform .14s,box-shadow .14s}button[type=button]:hover,button[type=submit]:hover{background:var(--brand-dark);box-shadow:0 7px 18px #01395c3d}button[type=button]:active,button[type=submit]:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.65}button.voice-button{width:38px;min-width:38px;height:38px;color:var(--brand);background:#fff;border:1px solid #bac8cf;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}button.voice-button:hover,button.voice-button:focus{border-color:var(--brand-bright);box-shadow:none;background:#f4fbfe;outline:3px solid #05aed629;transform:none}button.voice-button.is-listening{border-color:var(--danger);color:var(--danger);background:#fff1f0}button.voice-button.is-listening svg{display:none}button.voice-button.is-listening .voice-wave{display:inline-flex}button.voice-button.is-receiving{box-shadow:0 0 0 4px #b423181f}button.voice-button:disabled{cursor:not-allowed;opacity:.45}@keyframes voice-wave{0%,to{opacity:.68;height:7px}45%{opacity:1;height:19px}}.category-option{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:0;border-radius:6px;padding:9px 10px;font-weight:700}.category-option:hover,.category-option:focus{color:var(--brand);box-shadow:none;background:#eefaff;outline:2px solid #05aed62e;transform:none}[role=option][aria-selected=true].category-option,.project-results [role=option][aria-selected=true]{border-color:var(--brand-bright);color:var(--brand);background:#eefaff;outline:2px solid #05aed638}.check-field{border:1px solid var(--soft-line);color:#34454e;background:#f7fafb;border-radius:7px;align-items:center;gap:9px;width:fit-content;min-height:38px;padding:8px 11px;font-weight:700;display:inline-flex}.check-field input,.choice-field input{width:17px;height:17px;accent-color:var(--brand);margin:0}.choice-field{border:0;margin:0;padding:0}.choice-field label{border:1px solid var(--soft-line);color:#2d3c44;background:#f7fafb;border-radius:999px;align-items:center;gap:8px;min-height:36px;margin:8px 10px 0 0;padding:7px 12px;font-weight:700;display:inline-flex}.status-text{min-height:24px;color:var(--muted);margin:13px 0 10px;font-size:.92rem;font-weight:650}.selected-project{border:1px solid #a9dbe8;border-left:5px solid var(--brand-bright);color:var(--brand);background:#eefaff;border-radius:7px;grid-template-columns:minmax(110px,.35fr) minmax(220px,1fr) minmax(140px,.45fr);align-items:center;gap:12px;margin-bottom:10px;padding:11px 13px;font-weight:800;display:grid}.selected-project span{overflow-wrap:anywhere}.selected-project small{color:var(--muted);text-align:right;justify-self:end;font-size:.83rem}.project-results{scrollbar-color:#9caab1 transparent;gap:8px;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.project-results:empty{display:none}.project-option{border:1px solid var(--soft-line);width:100%;color:var(--ink);text-align:left;box-shadow:none;background:#fff;border-radius:7px;grid-template-columns:minmax(110px,.42fr) minmax(220px,1fr) minmax(140px,.55fr);align-items:center;gap:12px;padding:11px 13px;display:grid}.project-option:hover,.project-option:focus{border-color:var(--brand-bright);background:#f4fbfe;outline:3px solid #05aed629}.project-option strong{color:var(--brand);font-size:.94rem}.project-option span{overflow-wrap:anywhere}.project-option small{color:var(--muted);text-align:right;justify-self:end;font-size:.83rem;font-weight:700}.form-actions{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:flex-end;align-items:center;gap:14px;margin-top:18px;padding:13px;display:flex;position:static;box-shadow:inset 0 1px #ffffffd9}.error-summary{border:1px solid #e3aaa5;border-left:5px solid var(--danger);color:var(--danger);background:#fff7f6;border-radius:7px;justify-self:stretch;padding:10px 12px}.error-summary ul{margin:7px 0 0;padding-left:18px}.error-summary button{color:var(--danger);text-align:left;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.submit-status{min-height:24px;color:var(--muted);font-weight:650}.submit-status[data-tone=success]{color:var(--success);font-weight:800}.submit-status[data-tone=error]{color:var(--danger);font-weight:800}@media (width<=760px){.page-shell{padding:12px 10px 34px}.form-header{grid-template-columns:1fr;align-items:start;gap:10px;padding:12px}.brand-logo{width:116px}.header-badge{width:fit-content}.field-grid{grid-template-columns:1fr}.form-section{padding:14px}.section-heading{gap:4px;display:grid}.project-option,.selected-project{grid-template-columns:1fr;gap:4px}.selected-project small,.project-option small{text-align:left;justify-self:start}.form-actions{justify-items:stretch;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.voice-wave i{height:12px;animation:none}}
