/* Request and contact pages (v3). Extends v3.css; keep small. The /clients page uses mk.css + mk-clients.css. */

/* request form */
.v3-request { max-width: 820px; margin-inline: auto; }
.v3-request fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.v3-request .v3-field input[type="file"] { padding: .75rem; min-height: 48px; border: 2px dashed var(--rz-ink); border-radius: var(--rz-radius-sm); background: var(--rz-surface); color: var(--rz-text); font: inherit; box-sizing: border-box; width: 100%; }
.v3-request .v3-field input[type="file"]:focus-visible { outline: 3px solid var(--rz-focus); outline-offset: 2px; }
.v3-request .v3-field--err input, .v3-request .v3-field--err select, .v3-request .v3-field--err textarea { border-color: var(--rz-bad); }
.v3-form-msg { margin: 0 0 1rem; }
.v3-confirm { text-align: left; }
.v3-confirm .v3-num { display: inline-block; margin: .25rem 0 1rem; padding: .35rem .9rem; border: 2px solid var(--rz-ink); border-radius: 4px; background: var(--rz-surface); font-size: clamp(1.5rem, 4vw, 2.25rem); }

/* contact */
.v3-contact-list { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.v3-contact-list li { padding: .65rem 0; border-bottom: 1px dashed var(--rz-line); display: flex; gap: 1rem; flex-wrap: wrap; }
.v3-contact-list .v3-contact-k { font: 500 .8rem var(--rz-font); text-transform: uppercase; letter-spacing: .06em; color: var(--rz-muted); min-width: 7.5rem; }

/* client status page (/r/<no>/<token>) */
.v3-status__now h2 { margin: 0 0 .5rem; }
.v3-status__now p:last-child { margin-bottom: 0; }
.v3-status__h { margin: 2rem 0 .75rem; font-size: 1.25rem; }
.v3-status-steps { list-style: none; margin: 0 0 1rem; padding: 0; counter-reset: v3st; display: grid; gap: .5rem; }
.v3-status-steps li { counter-increment: v3st; display: flex; gap: .75rem; align-items: center; padding: .75rem 1rem; border: 1px solid var(--rz-line); border-radius: var(--rz-radius-sm); color: var(--rz-muted); }
.v3-status-steps li::before { content: counter(v3st); flex: 0 0 2rem; width: 2rem; height: 2rem; border-radius: 50%; background: var(--rz-line); color: var(--rz-text); font: 700 .9375rem/2rem var(--rz-font-display); text-align: center; }
.v3-status-steps li.is-done::before { background: var(--rz-blue); color: #fff; }
.v3-status-steps li.is-current { border: 2px solid var(--rz-accent); color: var(--rz-text); font-weight: 700; }
.v3-status-steps li.is-current::before { background: var(--rz-accent); color: #fff; }
