.form-frame { width:min(720px, calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:0 10px 40px rgba(14,11,12,0.25); }
.form-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:18px 20px 14px; border-bottom:1px solid var(--line); background:var(--surface-2); border-radius:var(--radius) var(--radius) 0 0; }
.form-head h3 { margin:0; font-size:16px; color:var(--ink); }
.form-head .sub { display:block; margin-top:4px; font-size:12px; line-height:1.5; color:var(--dim); }
.form-head-stack { min-width:0; }
.form-body { padding:18px 20px; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; padding:14px 20px 18px; border-top:1px solid var(--line); background:var(--surface-2); border-radius:0 0 var(--radius) var(--radius); }
.form-actions button { padding:6px 12px; min-width:154px; font-size:10px; letter-spacing:.05em; }
.auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; align-items:start; }
.auth-grid > .auth-field { width:auto; max-width:none; }
/* Password fields pair two-up to halve modal height; app-cred (id, secret) stay stacked. */
#sourcePasswordFields { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; align-items:start; }
#sourceAppCredFields { grid-column:1 / -1; display:grid; grid-template-columns:1fr; gap:8px; }
#sourcePasswordFields > .auth-field, #sourceAppCredFields > .auth-field { width:auto; max-width:none; }
.form-overlay label { display:block; margin:0 0 4px; font-family:Inter, system-ui, -apple-system, sans-serif; font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--ink); }
.form-overlay input, .form-overlay select, .form-overlay textarea { width:100%; padding:7px 10px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); background:var(--surface); color:var(--ink); font:inherit; font-size:12px; }
.form-overlay textarea { box-sizing:border-box; resize:vertical; }
.form-overlay input[readonly] { background:var(--surface-2); color:var(--dim); border-color:var(--line); cursor:default; user-select:none; pointer-events:none; }
.form-overlay .notice { margin-top:12px; padding:10px 12px; border-left:2px solid var(--amber); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--amber-soft); color:var(--amber); font-size:12px; line-height:1.55; }
.form-overlay .notice.info { border-left-color:var(--line-strong); background:var(--surface-2); color:var(--dim); }
.form-overlay .notice.error { border-left-color:var(--red); background:var(--red-soft); color:var(--red-dark); }
