.contract-auth-backdrop{z-index:100;pointer-events:none;background:#00000026;position:fixed;inset:0}.contract-auth-modal-shell{z-index:9999;overscroll-behavior:contain;padding:var(--sp-6) var(--sp-4);pointer-events:none;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}@media (min-height:640px){.contract-auth-modal-shell{align-items:center}}.contract-auth-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-8);width:100%;max-width:420px;box-shadow:var(--shadow-lg);gap:var(--sp-4);pointer-events:auto;flex-direction:column;margin-block:auto;display:flex;position:relative}.contract-auth-modal[data-step=lawyer-onboarding]{max-width:720px}.contract-auth-modal nav.button-group{justify-content:stretch;align-items:stretch;gap:var(--sp-2);display:flex}.contract-auth-modal nav.button-group .button.outline{flex:1 0}.contract-auth-modal .logo{justify-content:center;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);height:32px;display:flex}.contract-auth-modal .logo img{width:var(--sp-6);height:auto}.contract-auth-modal .contract-auth-language{top:var(--sp-4);right:var(--sp-4);position:absolute}.contract-auth-modal .contract-auth-language select{width:auto;min-width:calc(var(--sp-8) + var(--sp-2))}.contract-auth-modal .brand-name{color:var(--color-brand);font-size:var(--text-size-xl);font-weight:var(--text-weight-semibold);line-height:var(--text-leading-tight)}.contract-auth-modal .form{gap:var(--sp-4);flex-direction:column;display:flex}.contract-auth-modal .lawyer-onboarding-modal{gap:var(--sp-4);flex-direction:column;display:flex}.contract-auth-modal .lawyer-onboarding-modal .actions{justify-content:flex-end;gap:var(--sp-3);display:flex}.contract-auth-modal .heading{font-size:var(--text-size-lg);color:var(--color-text-heading);font-weight:600}.contract-auth-modal .sub{font-size:var(--text-size-sm);color:var(--color-text-muted)}.contract-auth-modal .intent-row{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contract-auth-modal .intent-button{justify-content:center;align-items:center;gap:var(--sp-2);min-width:0;min-height:calc(var(--sp-8) + var(--sp-8));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-text-body);font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);display:inline-flex}.contract-auth-modal .intent-row[data-kind=account] .intent-button{min-height:calc(var(--sp-8) + var(--sp-4))}.contract-auth-modal .account-type-icon{width:var(--icon-size);height:var(--icon-size);flex:none}.contract-auth-modal .intent-button:hover{border-color:var(--color-brand);box-shadow:var(--shadow-sm)}.contract-auth-modal .intent-button[data-selected]{border-color:var(--color-brand);background:var(--color-brand-subtle);color:var(--color-brand)}.contract-auth-modal .contract-auth-upload-step{align-items:stretch;gap:var(--sp-5);width:min(560px,100%);padding:var(--sp-2);border-radius:var(--radius-lg);flex-direction:column;margin:0 auto;display:flex}.contract-auth-modal .contract-auth-upload-step .upload-zone{border-radius:var(--radius-lg);width:100%;min-height:232px;box-shadow:none;background:0 0;border:none;padding:0}.contract-auth-modal .contract-auth-upload-step .actions{width:100%;padding:var(--sp-4) 0 0;justify-content:flex-end;display:flex}.contract-auth-modal .contract-auth-upload-step .cancel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-text-body);padding:var(--sp-3) var(--sp-5);font-size:var(--text-size-sm);font-weight:var(--text-weight-medium);line-height:var(--text-leading-tight);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.contract-auth-modal .contract-auth-upload-step .cancel:hover{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-surface-secondary) 85%, var(--color-brand-subtle) 15%);box-shadow:var(--shadow-sm)}.contract-auth-modal .contract-auth-upload-step .cancel:focus-visible{outline:2px solid color-mix(in srgb, var(--color-brand) 35%, transparent);outline-offset:2px}@media (max-width:700px){.contract-auth-modal{padding:var(--sp-5);gap:var(--sp-3)}.contract-auth-modal .contract-auth-upload-step{gap:var(--sp-4);padding:0}.contract-auth-modal .contract-auth-upload-step .upload-zone{min-height:208px}.contract-auth-modal .contract-auth-upload-step .actions{padding:var(--sp-3)}.contract-auth-modal .intent-row{grid-template-columns:1fr}.contract-auth-modal .intent-button{padding:var(--sp-3)}}.contract-auth-modal .error{color:var(--color-danger);font-size:var(--text-size-sm);margin-top:var(--sp-2)}.contract-auth-modal .footer{font-size:var(--text-size-sm);color:var(--color-text-muted)}.contract-auth-modal .link{color:var(--color-brand);font-size:var(--text-size-sm);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.contract-auth-modal .link:disabled{opacity:.5;cursor:not-allowed}.contract-auth-modal .consent{gap:var(--sp-2);width:fit-content;font-size:var(--text-size-sm);color:var(--color-text-muted);justify-content:center;align-items:flex-start;margin-inline:auto;display:flex}.contract-auth-modal .consent input[type=checkbox]{appearance:checkbox;width:16px;height:16px;accent-color:var(--color-brand);flex:0 0 16px;margin-top:2px}.contract-auth-modal .consent input[type=checkbox]:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.contract-auth-modal .consent-note{font-size:var(--text-size-xs);color:var(--color-text-muted);text-align:center;margin-top:calc(var(--sp-2) * -1)}
