:root{--color-text: #1a1a1a;--color-bg: #ffffff;--color-primary: #1f4e79;--color-error: #a4161a;--color-muted: #4a4a4a;--color-focus: #1a1a1a;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;color:var(--color-text);background:var(--color-bg)}body{margin:0}.screen{max-width:32rem;margin:0 auto;padding:max(1.5rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}body:before{content:"";position:fixed;top:0;left:0;right:0;z-index:20;height:env(safe-area-inset-top,0px);background:var(--color-bg);pointer-events:none}form{display:flex;flex-direction:column;gap:.5rem}label{font-weight:600;margin-top:.75rem}button,input,select,textarea{font-family:inherit}input{font-size:1rem;min-height:2.75rem;padding:0 .75rem;border:1px solid #6b6b6b;border-radius:.5rem}button{font-size:1rem;font-weight:600;min-height:2.75rem;margin-top:1rem;padding:0 1rem;border:none;border-radius:.5rem;background:var(--color-primary);color:#fff}button.secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}button:disabled{opacity:.7}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.error{color:var(--color-error);font-weight:600}.secret{font-size:1rem;word-break:break-all;-webkit-user-select:all;user-select:all}.confirm{margin-top:1.5rem;padding:1rem;border:2px solid var(--color-primary);border-radius:.5rem}.confirm h2{margin-top:0;font-size:1.25rem}.confirm button{width:100%}.status{color:var(--color-muted)}.check{display:flex;align-items:flex-start;gap:.75rem;margin-top:.75rem}.check input{flex:none;width:1.5rem;height:1.5rem;min-height:0;margin:.125rem 0 0}.check label{margin-top:0}.notice{padding:.75rem 1rem;border-left:4px solid var(--color-primary);background:#eef3f8}fieldset{margin:1.5rem 0 0;padding:0;border:none}legend{font-size:1.25rem;font-weight:600}fieldset label{display:block}fieldset input{box-sizing:border-box;width:100%}.hint{margin:.25rem 0;color:var(--color-muted)}.choices{margin:0;padding:0;list-style:none}.choices button{width:100%;margin-top:.5rem;padding:.5rem 1rem;text-align:left}select,textarea{font-size:1rem;border:1px solid #6b6b6b;border-radius:.5rem;background:var(--color-bg);color:var(--color-text)}select{min-height:2.75rem;padding:0 .75rem}textarea{box-sizing:border-box;width:100%;min-height:4.5rem;padding:.5rem .75rem}textarea[aria-invalid=true]{border:2px solid var(--color-error)}.item{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid #d0d0d0}.item legend{font-size:1rem}.ratings .check{margin-top:.5rem}.badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;border:2px solid var(--color-error);border-radius:.25rem;color:var(--color-error);font-size:.875rem;vertical-align:middle}input[aria-invalid=true]{border:2px solid var(--color-error)}.signer{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid #d0d0d0}.signature-pad canvas{display:block;box-sizing:border-box;width:100%;max-width:600px;height:auto;aspect-ratio:600 / 220;margin-top:.5rem;border:2px solid #6b6b6b;border-radius:.5rem;background:#fff;touch-action:none}.signature-pad .actions button{margin-right:.75rem}img.signature{display:block;width:100%;max-width:600px;height:auto;margin-top:.5rem;border:1px solid #6b6b6b;border-radius:.5rem}.camera-view{display:block;width:100%;max-width:600px;aspect-ratio:3 / 4;object-fit:cover;margin-top:.5rem;background:#111;border-radius:.5rem}.camera .actions button{margin-right:.75rem}ol.photos{padding-left:0;list-style:none}ol.photos>li{margin-top:1rem;padding-top:1rem;border-top:1px solid #6b6b6b}img.photo{display:block;width:100%;max-width:600px;height:auto;border-radius:.5rem}.field{margin-top:.75rem}h3.subgroup{margin-top:1.5rem}fieldset.table-row{margin-top:.75rem;border:1px solid #6b6b6b;border-radius:.5rem}.table-question>button{margin-top:.75rem}.update-banner{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;margin-top:env(safe-area-inset-top,0px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.75rem max(1.25rem,env(safe-area-inset-right)) .75rem max(1.25rem,env(safe-area-inset-left));background:var(--color-primary);color:#fff}.update-banner p{margin:0;font-weight:600}.update-banner button{margin-top:0;background:#fff;color:var(--color-primary)}.update-banner :focus-visible{outline-color:#fff}.update-banner+.screen{padding-top:1.5rem}
