.aquagib-form { max-width: var(--aquagib-measure, 41rem); margin-block: 1.5rem; }
.aquagib-form [hidden] { display: none !important; }
.aquagib-form__notice { padding: 1rem; background: var(--aquagib-faint, #edf3f7); border-inline-start: .25rem solid #1467a0; }
.aquagib-form__field, .aquagib-form__uploads > div > div { margin-block: 1.25rem; }
.aquagib-form label { display: block; font-weight: 600; margin-block-end: .375rem; }
.aquagib-form input:not([type="checkbox"]), .aquagib-form textarea, .aquagib-form select { box-sizing: border-box; width: 100%; max-width: 100%; padding: .7rem; border: 1px solid var(--aquagib-muted, #52657a); border-radius: .2rem; font: inherit; background: #fff; color: #122c45; }
.aquagib-form input[type="checkbox"] { width: 1.5rem; height: 1.5rem; }
.aquagib-form fieldset { min-width: 0; padding: 1rem; border: 1px solid var(--aquagib-muted, #52657a); }
.aquagib-form button { padding: .8rem 1.2rem; min-height: 2.75rem; border: 0; border-radius: .2rem; background: #123b60; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.aquagib-form button[data-save] { margin-block-start: 1.5rem; }
.aquagib-form button:disabled { opacity: .6; cursor: default; }
.aquagib-form :focus-visible { outline: .2rem solid #1467a0; outline-offset: .2rem; }
.aquagib-form__errors, .aquagib-form__field-error { color: #8a1c16; }
.aquagib-form__errors { margin-block-start: 1.5rem; padding: 1rem; border: .125rem solid currentColor; }
.aquagib-form__status { overflow-wrap: anywhere; }

/* Per-document feedback uses the same navy, blue and pale surface as signing. */
.aquagib-form .aquagib-upload-status {
    display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: center; gap: .5rem .75rem;
    position: relative; overflow: hidden; margin: .75rem 0 0; padding: .875rem 1rem;
    border: 1px solid #dbe4ec; border-radius: .375rem; background: var(--aquagib-tint-strong, #eaf2f8);
    color: #0d3555; line-height: 1.5; font-size: inherit; overflow-wrap: anywhere;
}
.aquagib-form .aquagib-upload-status[data-state="idle"] { display: none; }
.aquagib-upload-status__icon { box-sizing: border-box; width: 1.25rem; height: 1.25rem; justify-self: center; border: .125rem solid #0e6ba8; border-radius: 50%; }
.aquagib-upload-status[data-state="uploading"] .aquagib-upload-status__icon { border-color: #0e6ba8 #dbe4ec #dbe4ec; animation: aquagib-upload-turn 1s linear infinite; }
.aquagib-upload-status__track { display: none; grid-column: 1 / -1; height: .1875rem; overflow: hidden; border-radius: 1rem; background: #dbe4ec; }
.aquagib-upload-status[data-state="uploading"] .aquagib-upload-status__track { display: block; }
.aquagib-upload-status__track::after { content: ""; display: block; width: 45%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5fb0e6, #0e6ba8); animation: aquagib-upload-flow 1.8s ease-in-out infinite; }
.aquagib-upload-status[data-state="saved"] .aquagib-upload-status__icon { width: .5rem; height: .875rem; border: solid #0e6ba8; border-width: 0 .125rem .125rem 0; border-radius: 0; transform: rotate(45deg); }
.aquagib-form .aquagib-upload-status[data-state="error"] { color: #8a1c16; border-color: currentColor; background: #fff; }
.aquagib-upload-status[data-state="error"] .aquagib-upload-status__icon { border-color: currentColor; text-align: center; line-height: 1rem; font-weight: 700; }
.aquagib-upload-status[data-state="error"] .aquagib-upload-status__icon::after { content: "!"; }
@keyframes aquagib-upload-turn { to { transform: rotate(360deg); } }
@keyframes aquagib-upload-flow { from { transform: translateX(-110%); } to { transform: translateX(330%); } }
@media (prefers-reduced-motion: reduce) {
    .aquagib-upload-status[data-state="uploading"] .aquagib-upload-status__icon,
    .aquagib-upload-status__track::after { animation: none; }
    .aquagib-upload-status__track::after { width: 100%; opacity: .6; }
}
