/* Consent must not inherit the form label's space-between layout. */
.upload-form label.consent{justify-content:flex-start;align-items:flex-start;gap:10px;cursor:pointer}
.upload-form label.consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0}
.upload-form label.consent span{flex:1;min-width:0;margin:0;line-height:1.7}

/* Paint-only feedback: no layout shift, delayed clicks or blocked pointers. */
.water-control{isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:translate .18s ease,scale .18s ease,box-shadow .2s ease,background-color .2s ease}
.water-static{position:relative}
.water-control::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,#ffffff65 0%,#ffffff30 20%,#d6eaf544 35%,transparent 63%);box-shadow:inset 0 1px 0 #ffffff66,inset 0 -1px 0 #ffffff15;z-index:1}
.water-control.water-ripple::after{animation:water-ripple .6s ease-out both}
.water-control:active:not(:disabled){scale:.98}
@media(hover:hover){.water-control:hover:not(:disabled){translate:0 -1px;box-shadow:inset 0 1px 0 #ffffff45,0 5px 15px #35566d16}}
@keyframes water-ripple{0%{opacity:0;clip-path:circle(0% at 50% 50%)}18%{opacity:1}100%{opacity:0;clip-path:circle(110% at 50% 50%)}}
.photo-picker input::file-selector-button{background-image:linear-gradient(145deg,#ffffff25,transparent 48%,#ffffff0a);box-shadow:inset 0 1px 0 #ffffff55;transition:transform .18s,box-shadow .18s,background-color .18s}
.photo-picker input:active::file-selector-button{box-shadow:inset 0 0 18px #ffffff55;transform:scale(.98)}
@media(prefers-reduced-motion:reduce){.water-control{transition:none!important}.water-control.water-ripple::after{animation:none}.water-control:active:not(:disabled){scale:1;filter:brightness(.94)}}
